結果
問題 | No.3014 岩井満足性問題 |
ユーザー |
![]() |
提出日時 | 2025-01-25 13:58:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,020 ms / 3,000 ms |
コード長 | 685 bytes |
コンパイル時間 | 242 ms |
コンパイル使用メモリ | 82,728 KB |
実行使用メモリ | 79,896 KB |
最終ジャッジ日時 | 2025-01-25 23:04:02 |
合計ジャッジ時間 | 7,017 ms |
ジャッジサーバーID (参考情報) |
judge7 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
N, D, K = list(map(int, input().split()))A = list(map(int, input().split()))C = list(map(int, input().split()))inf = - 10 ** 18DP = [[[inf] * (K + 1) for _ in range(D + 1)] for _ in range(2)]DP[0][0][0] = 0c = C[0]c = min(c, K)DP[0][1][c] = A[0]flag = 0for i in range(1, N):flag = 1 - flagfor d in range(D + 1):for k in range(K + 1):if DP[1 - flag][d][k] == inf: continuea = A[i]c = C[i]c = min(c + k, K)DP[flag][d][k] = max(DP[flag][d][k], DP[1 - flag][d][k])if d != D:DP[flag][d + 1][c] = max(DP[flag][d + 1][c], DP[1 - flag][d][k] + a)ans = DP[flag][-1][-1]if ans == inf:print("No")else:print(ans)