結果
問題 |
No.3054 Modulo Inequalities
|
ユーザー |
|
提出日時 | 2025-02-02 13:13:32 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 786 bytes |
コンパイル時間 | 1,225 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 159,808 KB |
最終ジャッジ日時 | 2025-02-02 13:32:38 |
合計ジャッジ時間 | 39,450 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 WA * 5 |
ソースコード
# https://yukicoder.me/submissions/1039531 を PyPy に移植 n = int(input()) ab = [tuple(map(int, input().split())) for _ in range(n)] M = 1_000_000 ini = [0] * (M * 2 + 10) for a, b in ab: ini[a + M] += 1 ini[b + M] -= 1 ini[a - b + M] -= 1 acc = [0] * (len(ini) + 1) for i in range(len(ini)): acc[i + 1] = acc[i] + ini[i] def get_sum(l: int, r: int) -> int: return acc[min(r, len(ini))] - acc[max(l, 0)] fs = [0] * (M + 2) for m in range(2, M + 1): for st in range(0, M, m): en = st + m we = st // m fs[m] += (get_sum(st + M, en + M)) * we fs[m] += (get_sum(-en + M, -st + M)) * (-we - 1) argmax = 1 maxval = fs[1] for i in range(2, M + 1): if fs[i] > maxval: maxval = fs[i] argmax = i print(argmax)