結果
問題 |
No.853 河原の石
|
ユーザー |
![]() |
提出日時 | 2025-06-12 20:17:20 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 909 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 61,064 KB |
最終ジャッジ日時 | 2025-06-12 20:19:00 |
合計ジャッジ時間 | 4,662 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 4 WA * 53 |
ソースコード
import math def compute_sum_floor(M, n): if M == 0: return 0 sum_fl = 0 sqrt_m = int(math.isqrt(M)) # 处理k=1到sqrt_m的情况 for k in range(1, sqrt_m + 1): if k > n: break sum_fl += M // k # 处理v=1到sqrt_m的情况,k>sqrt_m的情况 for v in range(1, sqrt_m + 1): # 找到k的范围,使得 floor(M/k) = v low = (M // (v + 1)) + 1 high = M // v # 确保k > sqrt_m且<=n current_low = max(low, sqrt_m + 1) current_high = min(high, n) if current_low > current_high: continue count = current_high - current_low + 1 sum_fl += v * count return sum_fl H, W = map(int, input().split()) if H == 0 or W == 0: print(0) else: abs_W = abs(W) M = abs_W - 1 n = H sum_fl = compute_sum_floor(M, n) total = H + sum_fl print(total)