結果
問題 |
No.3297 Bake Cookies
|
ユーザー |
|
提出日時 | 2025-10-05 13:49:48 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 453 ms / 2,000 ms |
コード長 | 641 bytes |
コンパイル時間 | 418 ms |
コンパイル使用メモリ | 82,516 KB |
実行使用メモリ | 259,800 KB |
最終ジャッジ日時 | 2025-10-05 13:50:12 |
合計ジャッジ時間 | 12,072 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
def check(x): nokori = 0 O = [] for i in range(N): if x-D[i]>=0: O.append(x-D[i]) else: nokori += D[i]-x while nokori>0: while O and O[-1]<T: O.pop() if O and O[-1]>=T: O[-1]-=T nokori -= 1 else: break return nokori==0 import sys input = sys.stdin.readline N, M, T = map(int, input().split()) A = list(map(int, input().split())) D = [0 for _ in range(N)] for a in A: a-=1 D[a] += 1 l = 0 r = 10**18 while r-l>1: mid = (l+r)//2 if check(mid): r = mid else: l = mid print(r)