結果
問題 | No.2317 Expression Menu |
ユーザー |
![]() |
提出日時 | 2023-05-27 00:47:49 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,726 ms / 2,000 ms |
コード長 | 944 bytes |
コンパイル時間 | 689 ms |
コンパイル使用メモリ | 82,276 KB |
実行使用メモリ | 229,764 KB |
最終ジャッジ日時 | 2024-12-25 12:15:13 |
合計ジャッジ時間 | 49,878 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
from collections import defaultdict, deque, Counterimport copyfrom itertools import combinations, permutations, product, accumulate, groupbyfrom heapq import heapify, heappop, heappushimport mathimport bisectfrom pprint import pprintfrom random import randintimport sys# sys.setrecursionlimit(700000)input = lambda: sys.stdin.readline().rstrip('\n')inf = float('inf')mod1 = 10**9+7mod2 = 998244353def ceil_div(x, y): return -(-x//y)#################################################N, X, Y = map(int, input().split())dp = [[-inf]*(Y+1) for _ in range(X+1)]dp[0][0] = 0for _ in range(N):a, b, c = map(int, input().split())ndp = [[dp[i][j] for j in range(Y+1)] for i in range(X+1)]for i in range(X):for j in range(Y):if i+a <= X and j+b <= Y:ndp[i+a][j+b] = max(ndp[i+a][j+b], dp[i][j]+c)dp = ndpans = 0for i in range(X+1):ans = max(ans, max(dp[i]))print(ans)