結果

問題 No.3014 岩井満足性問題
ユーザー miya256
提出日時 2025-01-25 14:09:59
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,970 ms / 3,000 ms
コード長 940 bytes
コンパイル時間 299 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 253,212 KB
最終ジャッジ日時 2025-01-25 23:09:49
合計ジャッジ時間 10,071 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

n,d,k = map(int,input().split())
a = list(map(int,input().split()))
c = list(map(int,input().split()))
inf = float('inf')
#i番目まででjこ採用、美しさk
dp = [[None]*(k+1) for _ in range(d+1)]
ndp = [[None]*(k+1) for _ in range(d+1)]
dp[0][0] = 0
for i in range(n):
    for j in range(d+1):
        for t in range(k+1):
            if dp[j][t] is not None and ndp[j][t] is not None:
                ndp[j][t] = max(ndp[j][t],dp[j][t])
            elif dp[j][t] is not None:
                ndp[j][t] = dp[j][t]
            if j != d:
                if dp[j][t] is not None and ndp[j+1][min(k,t+c[i])] is not None:
                    ndp[j+1][min(k,t+c[i])] = max(ndp[j+1][min(k,t+c[i])], dp[j][t] + a[i])
                elif dp[j][t] is not None:
                    ndp[j+1][min(k,t+c[i])] = dp[j][t] + a[i]
    dp = list(ndp)
    ndp = [[None]*(k+1) for _ in range(d+1)]
print(dp[-1][-1] if dp[-1][-1] is not None else "No")
0