提出 #31070380
ソースコード 拡げる
n, a, b = map(int, input().split())
h = [int(input()) for i in range(n)]
a -= b
def is_ok(k):
cnt = 0
for i in h:
if i <= b * k:
continue # 爆発の中心に据えるまでもない魔物は無視
cnt += (i - b * k + a - 1) // a # 爆発の中心に据えなければならない回数を数える
if cnt <= k:
return 1
else:
return 0
ok = 10 ** 9
ng = 0
while ok - ng > 1:
m = (ok + ng) // 2
if is_ok(m) == 1:
ok = m
else:
ng = m
print(ok)
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Widespread |
| ユーザ | Pro_ktmr |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 400 |
| コード長 | 550 Byte |
| 結果 | AC |
| 実行時間 | 213 ms |
| メモリ | 80668 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | a01, a02, a03 |
| All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| a01 | AC | 63 ms | 61796 KiB |
| a02 | AC | 51 ms | 61704 KiB |
| a03 | AC | 54 ms | 61528 KiB |
| b04 | AC | 53 ms | 61696 KiB |
| b05 | AC | 189 ms | 80308 KiB |
| b06 | AC | 213 ms | 80536 KiB |
| b07 | AC | 194 ms | 80508 KiB |
| b08 | AC | 195 ms | 80668 KiB |
| b09 | AC | 184 ms | 80488 KiB |
| b10 | AC | 176 ms | 80604 KiB |
| b11 | AC | 178 ms | 80548 KiB |
| b12 | AC | 182 ms | 80544 KiB |
| b13 | AC | 204 ms | 80596 KiB |