結果

問題 No.496 ワープクリスタル (給料日前編)
ユーザー kohei2019
提出日時 2022-02-02 19:56:22
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 132 ms / 2,000 ms
コード長 679 bytes
コンパイル時間 177 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 77,524 KB
最終ジャッジ日時 2024-06-11 09:32:22
合計ジャッジ時間 3,434 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

gx,gy,N,F = map(int,input().split())
lsxyz = [list(map(int,input().split())) for i in range(N)]
inf = float('INF')
dp = [[inf]*(gy+1) for i in range(gx+1)]
dp[0][0] = 0


for i in range(N):
    x,y,z = lsxyz[i]
    dp2 = [[inf]*(gy+1) for i in range(gx+1)]
    for j in range(gx+1):
        for k in range(gy+1):
            if 0 <=j-x and 0 <=k-y:
                dp2[j][k] = min(dp[j][k],dp[j-x][k-y]+z)
            else:
                dp2[j][k] = dp[j][k]
    dp = dp2

for i in range(gx+1):
    for j in range(gy+1):
        if 0<=i-1:
            dp[i][j] = min(dp[i-1][j]+F,dp[i][j])
        if 0<=j-1:
            dp[i][j] = min(dp[i][j-1]+F,dp[i][j])
print(dp[-1][-1])
0