結果

問題 No.755 Zero-Sum Rectangle
コンテスト
ユーザー ntuda
提出日時 2025-12-20 13:50:22
言語 PyPy3
(7.3.17)
結果
AC  
実行時間 1,526 ms / 2,000 ms
コード長 854 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 451 ms
コンパイル使用メモリ 83,032 KB
実行使用メモリ 77,264 KB
最終ジャッジ日時 2025-12-20 13:50:35
合計ジャッジ時間 12,043 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 12
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

N, M = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(M)]
M1 = M + 1
M2 = M + 2
B = [[0] * M1 for _ in range(M1)]
C = [[0] * M2 for _ in range(M2)]

for i in range(M):
    for j in range(M):
        B[i + 1][j + 1] = A[i][j] + B[i + 1][j] + B[i][j + 1] - B[i][j]

for x0 in range(M):
    for x1 in range(x0 + 1, M1):
        for y0 in range(M):
            for y1 in range(y0 + 1, M1):
                if B[x1][y1] - B[x1][y0] - B[x0][y1] + B[x0][y0] == 0:
                    C[x1][y1] += 1
                    C[x1][y0] -= 1
                    C[x0][y1] -= 1
                    C[x0][y0] += 1

for i in range(M1):
    for j in range(M1):
        C[i][j] += C[i - 1][j]
        C[i][j] += C[i][j - 1]
        C[i][j] -= C[i - 1][j - 1]

for _ in range(N):
    x, y = map(int, input().split())
    print(C[x - 1][y - 1])
0