結果
| 問題 | No.3048 Swing |
| ユーザー |
|
| 提出日時 | 2026-11-12 12:37:15 |
| 言語 | PyPy3 (8.0.1 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 34 ms / 2,000 ms |
| + 101µs | |
| コード長 | 638 bytes |
| 記録 | |
| コンパイル時間 | 83 ms |
| コンパイル使用メモリ | 64,652 KB |
| 実行使用メモリ | 53,524 KB |
| 最終ジャッジ日時 | 2026-11-12 12:37:23 |
| 合計ジャッジ時間 | 5,448 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge5_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 63 |
ソースコード
x,n = map(int,input().split())
if x == 0:
+1 -2 +3 -4
ans = -1 * (n//2)
if n % 2 == 1:
ans += n
exit(print(ans))
c = 1
if x < 0:
x *= -1
c = -1
l,r = 0,10**18
for i in range(60):
mid = (l+r)//2
z = (1 + mid) * mid // 2
if z > x:
r = mid
else:
l = mid
if x == l * (l + 1) // 2:
k = n - l
if k % 2:
print(l + (k + 1) // 2)
else:
print(-k // 2)
exit()
if l >= n:
ans = x - ((1 + n) * n // 2)
print(ans * c)
exit()
x -= (l + 1) * l // 2
y = l + 1
ans = x + (n - y + 1) // 2
if (n - y + 1) % 2 == 1:
ans -= n
print(ans * c)