結果
問題 |
No.2890 Chiffon
|
ユーザー |
👑 |
提出日時 | 2024-07-05 14:37:02 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 568 bytes |
コンパイル時間 | 187 ms |
コンパイル使用メモリ | 81,576 KB |
実行使用メモリ | 150,784 KB |
最終ジャッジ日時 | 2024-07-06 11:13:15 |
合計ジャッジ時間 | 6,842 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 TLE * 1 -- * 11 |
ソースコード
n,k = map(int, input().split()) a = list(map(int, input().split())) a.append(a[0] + 2*n) an = a.copy() for i in range(k+1): an[i] -= a[0] ans = 0 for s in range(1, an[1], 2): ok = 0 ng = n while ng - ok > 1: mid = (ok + ng) // 2 def check(): x = 2*mid si = s for i in range(k-1): if si + x > an[i+2]: return False si = max(si+x, an[i+1]+1) return si + x <= s + 2*n if check(): ok = mid else: ng = mid ans = max(ans, ok*2) print(ans)