結果
問題 | No.3048 Swing |
ユーザー |
![]() |
提出日時 | 2025-03-07 21:15:14 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 44 ms / 2,000 ms |
コード長 | 814 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 82,244 KB |
実行使用メモリ | 56,488 KB |
最終ジャッジ日時 | 2025-06-20 02:23:39 |
合計ジャッジ時間 | 4,131 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 62 |
ソースコード
from collections import deque, defaultdict, Counter from bisect import bisect_left, bisect_right from itertools import permutations, combinations from heapq import heappop, heappush import math, sys # input = sys.stdin.readline _int = lambda x: int(x)-1 MOD = 998244353 #10**9+7 INF = 1<<60 Yes, No = "Yes", "No" X, N = map(int, input().split()) if X == 0: r = 0 else: l, r = 0, 10**20 while r-l>1: m = (l+r)//2 num = (1+m)*m//2 if X > 0: if X-num <= 0: r = m else: l = m else: if X+num > 0: r = m else: l = m if r > N: r = N if X > 0: X -= (1+r)*r//2 else: X += (1+r)*r//2 if (N-r)%2: r += 1 if X > 0: X -= r else: X += r if X > 0: X += (N-r)//2 else: X -= (N-r)//2 print(X)