結果

問題 No.1739 Princess vs. Dragoness (& AoE)
ユーザー tamatotamato
提出日時 2021-11-12 21:37:47
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,054 bytes
コンパイル時間 122 ms
コンパイル使用メモリ 82,840 KB
実行使用メモリ 271,512 KB
最終ジャッジ日時 2024-05-04 07:44:41
合計ジャッジ時間 5,239 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 38 ms
53,740 KB
testcase_01 AC 34 ms
53,484 KB
testcase_02 AC 35 ms
54,512 KB
testcase_03 AC 35 ms
54,372 KB
testcase_04 TLE -
testcase_05 AC 1,995 ms
266,776 KB
testcase_06 AC 2,488 ms
267,064 KB
testcase_07 AC 34 ms
53,624 KB
testcase_08 AC 546 ms
181,364 KB
testcase_09 AC 830 ms
243,448 KB
testcase_10 AC 1,418 ms
164,388 KB
testcase_11 AC 1,053 ms
136,512 KB
testcase_12 AC 111 ms
81,124 KB
testcase_13 AC 2,024 ms
216,080 KB
testcase_14 AC 1,377 ms
231,548 KB
testcase_15 AC 2,162 ms
267,164 KB
testcase_16 AC 1,010 ms
139,924 KB
testcase_17 AC 1,189 ms
180,660 KB
testcase_18 AC 880 ms
172,164 KB
testcase_19 AC 650 ms
167,576 KB
testcase_20 AC 299 ms
108,208 KB
testcase_21 AC 1,268 ms
234,804 KB
testcase_22 AC 2,209 ms
271,512 KB
testcase_23 TLE -
testcase_24 AC 2,944 ms
266,508 KB
testcase_25 AC 1,590 ms
266,636 KB
testcase_26 TLE -
testcase_27 AC 1,738 ms
270,344 KB
testcase_28 TLE -
testcase_29 AC 1,906 ms
267,924 KB
testcase_30 TLE -
testcase_31 TLE -
testcase_32 AC 1,917 ms
266,768 KB
testcase_33 AC 60 ms
72,376 KB
testcase_34 AC 34 ms
53,492 KB
testcase_35 AC 81 ms
76,828 KB
testcase_36 AC 65 ms
74,592 KB
testcase_37 AC 46 ms
64,212 KB
testcase_38 AC 89 ms
77,080 KB
testcase_39 AC 83 ms
76,484 KB
testcase_40 AC 82 ms
77,036 KB
testcase_41 AC 94 ms
76,708 KB
testcase_42 AC 83 ms
77,080 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

mod = 1000000007
eps = 10**-9


def main():
    import sys
    from heapq import heappush, heappop, heapify
    input = sys.stdin.readline

    N, A, B, X, Y = map(int, input().split())
    H = list(map(int, input().split()))

    ok = sum(H)
    ng = -1
    mid = (ok + ng) // 2
    while ok - ng > 1:
        HH = [max(0, h - mid) for h in H]
        pq = []
        for i, h in enumerate(HH):
            pq.append((-h, i))
        heapify(pq)
        AA = A
        while AA and pq:
            h, i = heappop(pq)
            h = -h
            if h >= X:
                z = h // X
                if z <= AA:
                    AA -= z
                else:
                    z = AA
                    AA = 0
                HH[i] -= X * z
            else:
                AA -= 1
                HH[i] = 0
            if HH[i] > 0:
                heappush(pq, (-HH[i], i))
        if sum(HH) <= B * Y:
            ok = mid
        else:
            ng = mid
        mid = (ok + ng) // 2
    print(ok)


if __name__ == '__main__':
    main()
0