結果

問題 No.1736 Princess vs. Dragoness
ユーザー lam6er
提出日時 2025-04-15 22:59:02
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,195 bytes
コンパイル時間 169 ms
コンパイル使用メモリ 81,608 KB
実行使用メモリ 76,344 KB
最終ジャッジ日時 2025-04-15 23:00:36
合計ジャッジ時間 4,513 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

def main():
    N, A, B, X, Y = map(int, sys.stdin.readline().split())
    H = list(map(int, sys.stdin.readline().split()))
    
    # Initial approach: try all possible B_used, compute required A
    for B_used in range(B + 1):
        D = B_used * Y
        remaining_H = H.copy()
        for i in range(N):
            if D <= 0:
                break
            damage = min(D, remaining_H[i])
            remaining_H[i] -= damage
            D -= damage
        
        sum_A = 0
        for h in remaining_H:
            if h > 0:
                sum_A += (h + X - 1) // X
        if sum_A <= A:
            print("Yes")
            return
    
    # Split approach: try all possible k, split into A and B
    for k in range(N + 1):
        sum_A = 0
        valid = True
        for i in range(k):
            needed = (H[i] + X - 1) // X
            sum_A += needed
            if sum_A > A:
                valid = False
                break
        if not valid:
            continue
        
        sum_B = sum(H[i] for i in range(k, N))
        if sum_B <= B * Y:
            print("Yes")
            return
    
    print("No")

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