結果

問題 No.1739 Princess vs. Dragoness (& AoE)
ユーザー ShirotsumeShirotsume
提出日時 2021-10-28 23:42:03
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,601 ms / 3,000 ms
コード長 747 bytes
コンパイル時間 483 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 102,884 KB
最終ジャッジ日時 2024-05-04 04:18:13
合計ジャッジ時間 28,853 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 36 ms
54,016 KB
testcase_01 AC 39 ms
54,400 KB
testcase_02 AC 38 ms
54,388 KB
testcase_03 AC 45 ms
61,696 KB
testcase_04 AC 1,253 ms
102,004 KB
testcase_05 AC 1,601 ms
102,824 KB
testcase_06 AC 898 ms
101,260 KB
testcase_07 AC 46 ms
61,568 KB
testcase_08 AC 231 ms
90,372 KB
testcase_09 AC 309 ms
97,580 KB
testcase_10 AC 876 ms
86,528 KB
testcase_11 AC 537 ms
83,984 KB
testcase_12 AC 83 ms
76,596 KB
testcase_13 AC 790 ms
92,676 KB
testcase_14 AC 935 ms
95,120 KB
testcase_15 AC 803 ms
102,160 KB
testcase_16 AC 911 ms
83,780 KB
testcase_17 AC 466 ms
88,960 KB
testcase_18 AC 1,049 ms
88,672 KB
testcase_19 AC 252 ms
89,408 KB
testcase_20 AC 173 ms
80,768 KB
testcase_21 AC 473 ms
97,296 KB
testcase_22 AC 797 ms
99,808 KB
testcase_23 AC 1,246 ms
102,240 KB
testcase_24 AC 1,371 ms
101,920 KB
testcase_25 AC 1,510 ms
102,132 KB
testcase_26 AC 1,274 ms
100,824 KB
testcase_27 AC 1,506 ms
101,504 KB
testcase_28 AC 1,292 ms
100,948 KB
testcase_29 AC 1,489 ms
102,412 KB
testcase_30 AC 1,334 ms
102,884 KB
testcase_31 AC 1,274 ms
100,952 KB
testcase_32 AC 1,445 ms
100,876 KB
testcase_33 AC 70 ms
73,472 KB
testcase_34 AC 59 ms
76,032 KB
testcase_35 AC 85 ms
76,288 KB
testcase_36 AC 80 ms
76,576 KB
testcase_37 AC 73 ms
75,904 KB
testcase_38 AC 82 ms
76,756 KB
testcase_39 AC 73 ms
76,544 KB
testcase_40 AC 72 ms
76,160 KB
testcase_41 AC 92 ms
76,348 KB
testcase_42 AC 78 ms
76,928 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

n, a, b, x, y = map(int,input().split())
h = list(map(int,input().split()))
def solve(n, a, b, x, y, h):
    from collections import deque
    def check(k):
        import heapq
        h2 = [0] * n
        for i in range(n):
            h2[i] = min(0, k - h[i])
        heapq.heapify(h2)       
        
        for i in range(a):
            now = heapq.heappop(h2)
            now = min(0, now + x)
            heapq.heappush(h2, now)
        if sum(h2) >= - 1 * b * y:
            return True
        else:
            return False

    ok = 10 ** 9
    ng = -1

    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if check(mid):
            ok = mid
        else:
            ng = mid
    return ok
print(solve(n, a, b, x, y, h))
0