結果

問題 No.3014 岩井満足性問題
ユーザー rlangevin
提出日時 2025-01-28 12:22:12
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 919 bytes
コンパイル時間 938 ms
コンパイル使用メモリ 81,804 KB
実行使用メモリ 441,556 KB
最終ジャッジ日時 2025-01-28 12:22:38
合計ジャッジ時間 23,616 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 MLE * 1
other AC * 12 TLE * 3 MLE * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import *

N, D, K = map(int, input().split())
A = list(map(int, input().split()))
C = list(map(int, input().split()))

def f(d, k):
    return d * (K + 1) + k

pre = defaultdict(lambda : None)
pre[0] = 0
for a, c in zip(A, C):
    dp = defaultdict(lambda : None)
    for d in range(D + 1):
        for k in range(K + 1):
            if pre[f(d,k)] is None:
                continue
            if dp[f(d,k)] is None:
                dp[f(d,k)] = pre[f(d,k)]
            else:
                dp[f(d,k)] = max(dp[f(d,k)], pre[f(d,k)])
            if d != D:
                nd = d + 1
                nk = min(K, k + c)
                if dp[f(nd,nk)] is None:
                    dp[f(nd,nk)] = pre[f(d,k)] + a
                else:
                    dp[f(nd,nk)] = max(dp[f(nd,nk)], pre[f(d,k)] + a)
    dp, pre = pre, dp
    
if pre[f(D,K)] is not None:
    print(pre[f(D,K)])
else:
    print("No")
0