結果

問題 No.2093 Shio Ramen
ユーザー tamato
提出日時 2022-10-07 21:26:29
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 63 ms / 2,000 ms
コード長 619 bytes
コンパイル時間 174 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 73,216 KB
最終ジャッジ日時 2024-06-12 05:57:36
合計ジャッジ時間 2,603 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

mod = 998244353
inf = 10 ** 17


def main():
    import sys
    input = sys.stdin.readline

    N, K = map(int, input().split())
    SA = []
    for _ in range(N):
        SA.append(tuple(map(int, input().split())))

    dp = [-inf] * (K + 1)
    dp[0] = 0
    for s, a in SA:
        dp_new = [-inf] * (K + 1)
        for j in range(K + 1):
            dp_new[j] = max(dp_new[j], dp[j])
            if j + s <= K:
                dp_new[j + s] = max(dp_new[j + s], dp[j] + a)
        dp = dp_new
    ans = 0
    for j in range(K+1):
        ans = max(ans, dp[j])
    print(ans)


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