結果

問題 No.1947 質より種類数
ユーザー gr1msl3y
提出日時 2022-05-22 22:23:28
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 486 ms / 2,000 ms
コード長 383 bytes
コンパイル時間 439 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 77,824 KB
最終ジャッジ日時 2024-09-20 12:56:15
合計ジャッジ時間 6,336 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 37
権限があれば一括ダウンロードができます

ソースコード

diff #

N, V, C = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(N)]

INF = 10**18
dp = [-INF]*(V+1)
dp[0] = 0

for v, w in A:
    for i in range(V, -1, -1):
        if i+v > V:
            continue
        dp[i+v] = max(dp[i+v], dp[i]+w+C)
    for i in range(V+1):
        if i+v > V:
            break
        dp[i+v] = max(dp[i+v], dp[i]+w)

print(max(dp))
0