結果
問題 | No.1739 Princess vs. Dragoness (& AoE) |
ユーザー | H20 |
提出日時 | 2021-11-12 22:28:03 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 278 ms / 3,000 ms |
コード長 | 691 bytes |
コンパイル時間 | 328 ms |
コンパイル使用メモリ | 82,420 KB |
実行使用メモリ | 107,616 KB |
最終ジャッジ日時 | 2024-11-25 19:39:08 |
合計ジャッジ時間 | 7,985 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
import heapq def is_ok(K): HH = [0]*N for i in range(N): HH[i]=H[i]-K y = Y*B j = 0 while y>0 and j<N: d = min(y,HH[j]) if d>0: HH[j]-=d y-=d j+=1 return max(HH)<=0 def meguru_bisect(ok, ng): while (abs(ok - ng) > 1): mid = (ok + ng) // 2 if is_ok(mid): ok = mid else: ng = mid return ok N,A,B,X,Y = map(int, input().split()) H = list(map(int, input().split())) HQ = [] for i in range(N): heapq.heappush(HQ,(-H[i],i)) for _ in range(A): hi,i = heapq.heappop(HQ) H[i]-=X heapq.heappush(HQ,(-H[i],i)) print(meguru_bisect(10**9 + 1,-1))