結果

問題 No.1997 X Lighting
ユーザー aaaaaaaaaa2230aaaaaaaaaa2230
提出日時 2022-07-01 22:51:56
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 757 ms / 2,000 ms
コード長 634 bytes
コンパイル時間 552 ms
コンパイル使用メモリ 82,524 KB
実行使用メモリ 130,704 KB
最終ジャッジ日時 2024-11-26 06:29:48
合計ジャッジ時間 11,498 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

n,m = map(int,input().split())
XY = [list(map(int,input().split())) for i in range(m)]


S = [[[],[]] for i in range(2)]

for x,y in XY:
    d = (x+y)%2
    S[d][0].append(y-x)
    S[d][1].append(x+y)

ans = 0

for t in range(2):
    sp = set(S[t][0])
    sm = set(S[t][1])
    L = []
    for p in sp:
        ans += n-abs(p)
        L.append([abs(p)+2,1])
        L.append([2*n-abs(p)+1,-1])
    L.sort()
    sm = sorted(sm)
    count = 0
    now = 0
    for m in sm:
        while now < len(L) and L[now][0] <= m:
            count += L[now][1]
            now += 1

        base = n-abs(n+1-m)
        ans += base-count
print(ans)
0