結果
| 問題 |
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 |
ソースコード
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")
rlangevin