結果
| 問題 |
No.1739 Princess vs. Dragoness (& AoE)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-11-12 22:47:06 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,473 bytes |
| コンパイル時間 | 367 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 157,232 KB |
| 最終ジャッジ日時 | 2024-11-25 20:34:27 |
| 合計ジャッジ時間 | 33,592 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 26 WA * 14 |
ソースコード
n, a, b, x, y = map(int, input().split())
H = list(map(int, input().split()))
left = 0
right = 10**9 + 1
while right - left > 1:
mid = (left + right) // 2
ca, cb = a, b
Hc = H[:]
for i in range(n):
if Hc[i] < mid:
Hc[i] = 0
else:
Hc[i] -= mid
for i in range(n):
q, r = divmod(Hc[i], x)
if ca >= q:
Hc[i] = r
ca -= q
else:
Hc[i] -= ca * x
ca = 0
if ca == 0:
break
if ca > 0:
Hcc = [(Hc[i], i) for i in range(n)]
Hcc.sort(key=lambda x: x[0], reverse=True)
for i in range(n):
ind = Hcc[i][1]
if Hc[ind] > 0:
ca -= 1
Hc[ind] = 0
if ca == 0:
break
if cb > 0:
cy = y
for i in range(n):
if Hc[i] > cy:
Hc[i] -= cy
cb -= 1
if cb == 0:
break
q, r = divmod(Hc[i], y)
cb -= q
if cb <= 0:
break
Hc[i] = 0
cy = y - r
else:
cy -= Hc[i]
Hc[i] = 0
if cy == 0:
cb -= 1
cy = y
if cb == 0:
break
if sum(Hc) == 0:
right = mid
else:
left = mid
print(right)