結果
問題 | No.3048 Swing |
ユーザー |
![]() |
提出日時 | 2025-03-07 21:11:24 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 47 ms / 2,000 ms |
コード長 | 859 bytes |
コンパイル時間 | 471 ms |
コンパイル使用メモリ | 82,912 KB |
実行使用メモリ | 54,336 KB |
最終ジャッジ日時 | 2025-03-14 16:59:47 |
合計ジャッジ時間 | 4,387 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 59 |
ソースコード
def SUM(l, r, c):return (l+r)*c//2X, N = map(int, input().split())left = 0right = 10**10while left+1 < right:mid = (left+right)//2if SUM(1, mid, mid) < abs(X):left = midelse:right = midif N <= right:if X <= 0:print(X+SUM(1, N, N))else:print(X-SUM(1, N, N))exit()if X <= 0:X += SUM(1, right, right)else:X -= SUM(1, right, right)l, r = right+1, Nif X <= 0:if l%2 == r%2:X += SUM(l, r, (r-l)//2+1)if l < r:X -= SUM(l+1, r-1, (r-l)//2)else:X += SUM(l, r-1, (r-l)//2+1)X -= SUM(l+1, r, (r-l)//2+1)else:if l%2 == r%2:X -= SUM(l, r, (r-l)//2+1)if l < r:X += SUM(l+1, r-1, (r-l)//2)else:X -= SUM(l, r-1, (r-l)//2+1)X += SUM(l+1, r, (r-l)//2+1)print(X)