結果
問題 | No.3014 岩井満足性問題 |
ユーザー |
![]() |
提出日時 | 2025-01-25 15:06:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,750 ms / 3,000 ms |
コード長 | 1,170 bytes |
コンパイル時間 | 709 ms |
コンパイル使用メモリ | 82,436 KB |
実行使用メモリ | 123,904 KB |
最終ジャッジ日時 | 2025-01-25 23:41:21 |
合計ジャッジ時間 | 13,517 ms |
ジャッジサーバーID (参考情報) |
judge13 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
from collections import defaultdict, deque, Counter# from functools import cache# import copyfrom itertools import combinations, permutations, product, accumulate, groupby, chain# from more_itertools import distinct_permutationsfrom heapq import heapify, heappop, heappush, heappushpopimport mathimport bisect# from pprint import pprintfrom random import randint, shuffle, randrange# from sortedcontainers import SortedSet, SortedList, SortedDictimport sys# sys.setrecursionlimit(2000000)input = lambda: sys.stdin.readline().rstrip('\n')inf = float('inf')mod1 = 10**9+7mod2 = 998244353def ceil_div(x, y): return -(-x//y)#################################################import gcN, D, K = map(int, input().split())A = list(map(int, input().split()))C = list(map(int, input().split()))dp = [[-inf]*(K+1) for _ in range(D+1)]dp[0][0] = 0cnt = 0for a, c in zip(A, C):ndp = [x[:] for x in dp]for i in range(D):for j in range(K+1):ndp[i+1][min(j+c, K)] = max(ndp[i+1][min(j+c, K)], dp[i][j]+a)dp = ndpcnt = (cnt+1)%100if cnt == 0:gc.collect()print(dp[D][K] if dp[D][K] != -inf else "No")