結果
| 問題 |
No.3054 Modulo Inequalities
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-02-03 00:57:21 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,134 ms / 2,500 ms |
| コード長 | 627 bytes |
| コンパイル時間 | 686 ms |
| コンパイル使用メモリ | 82,328 KB |
| 実行使用メモリ | 131,968 KB |
| 最終ジャッジ日時 | 2025-02-03 00:58:03 |
| 合計ジャッジ時間 | 32,370 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
ソースコード
n = int(input())
m = 1000010
cnt = [0] * (2 * m + 1)
for _ in range(n):
a, b = map(int, input().split())
cnt[a + m] -= 1
cnt[b + m] += 1
cnt[(b - a - 1) + m] -= 1
cum = [0] * (2 * m + 1)
for i in range(1, 2 * m + 1):
cum[i] = cum[i - 1] + cnt[i]
ans = [0] * m
for i in range(1, m):
t = 0
for l in range(0, m, i):
r = min(m, l + i)
ans[i] += (cum[r - 1 + m] - cum[l - 1 + m]) * t
t += 1
t = -1
for r in range(0, -m, -i):
l = max(-m + 1, r - i)
ans[i] += (cum[r - 1 + m] - cum[l - 1 + m]) * t
t -= 1
print(ans[1:].index(min(ans[1:m])) + 1)