結果

問題 No.1739 Princess vs. Dragoness (& AoE)
ユーザー tamato
提出日時 2021-11-12 21:37:47
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,054 bytes
コンパイル時間 195 ms
コンパイル使用メモリ 82,232 KB
実行使用メモリ 271,612 KB
最終ジャッジ日時 2024-11-25 17:29:30
合計ジャッジ時間 55,604 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 33 TLE * 7
権限があれば一括ダウンロードができます

ソースコード

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