結果
問題 |
No.2221 Set X
|
ユーザー |
![]() |
提出日時 | 2022-05-27 13:29:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 452 ms / 2,000 ms |
コード長 | 636 bytes |
コンパイル時間 | 276 ms |
コンパイル使用メモリ | 82,564 KB |
実行使用メモリ | 89,836 KB |
最終ジャッジ日時 | 2024-07-01 23:04:14 |
合計ジャッジ時間 | 11,372 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
from sys import stdin input = stdin.readline n = int(input()) a = list(map(int, input().split())) a.append(int(2e9)) Min = int(1e18) Minx = -1 def lower_bound(lo, val): hi = n + 1 while hi - lo > 1: mi = (lo + hi) // 2 if a[mi] >= val: hi = mi else: lo = mi return hi for x in range(1, n * 2 + 1): i = 0 k = 0 while i < n: i = lower_bound(i, (a[i] // x + 1) * x) k += 1 if (x + 1) * k >= Min: k = -1 break if k != -1 and (x + 1) * k < Min: Min = (x + 1) * k Minx = x print(Minx) print(Min)