結果
問題 | No.1947 質より種類数 |
ユーザー | McGregorsh |
提出日時 | 2023-05-22 23:25:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,817 ms / 2,000 ms |
コード長 | 1,718 bytes |
コンパイル時間 | 681 ms |
コンパイル使用メモリ | 87,096 KB |
実行使用メモリ | 435,280 KB |
最終ジャッジ日時 | 2023-08-24 03:59:14 |
合計ジャッジ時間 | 25,290 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge15 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 243 ms
92,152 KB |
testcase_01 | AC | 242 ms
92,392 KB |
testcase_02 | AC | 239 ms
92,096 KB |
testcase_03 | AC | 241 ms
92,304 KB |
testcase_04 | AC | 269 ms
93,760 KB |
testcase_05 | AC | 266 ms
93,920 KB |
testcase_06 | AC | 262 ms
93,872 KB |
testcase_07 | AC | 271 ms
93,908 KB |
testcase_08 | AC | 268 ms
94,728 KB |
testcase_09 | AC | 293 ms
97,544 KB |
testcase_10 | AC | 292 ms
96,508 KB |
testcase_11 | AC | 347 ms
103,688 KB |
testcase_12 | AC | 318 ms
99,844 KB |
testcase_13 | AC | 286 ms
96,196 KB |
testcase_14 | AC | 713 ms
194,096 KB |
testcase_15 | AC | 484 ms
134,060 KB |
testcase_16 | AC | 837 ms
240,164 KB |
testcase_17 | AC | 1,140 ms
301,140 KB |
testcase_18 | AC | 1,817 ms
435,280 KB |
testcase_19 | AC | 1,657 ms
343,088 KB |
testcase_20 | AC | 1,103 ms
329,136 KB |
testcase_21 | AC | 1,261 ms
352,188 KB |
testcase_22 | AC | 321 ms
101,608 KB |
testcase_23 | AC | 806 ms
215,416 KB |
testcase_24 | AC | 273 ms
93,608 KB |
testcase_25 | AC | 271 ms
93,764 KB |
testcase_26 | AC | 263 ms
93,604 KB |
testcase_27 | AC | 267 ms
93,604 KB |
testcase_28 | AC | 269 ms
93,736 KB |
testcase_29 | AC | 1,599 ms
424,864 KB |
testcase_30 | AC | 1,445 ms
425,024 KB |
testcase_31 | AC | 239 ms
92,192 KB |
testcase_32 | AC | 238 ms
92,096 KB |
testcase_33 | AC | 246 ms
93,168 KB |
testcase_34 | AC | 1,118 ms
423,256 KB |
testcase_35 | AC | 848 ms
429,752 KB |
testcase_36 | AC | 1,441 ms
426,816 KB |
ソースコード
import sys, re from fractions import Fraction from math import ceil, floor, sqrt, pi, factorial, gcd from copy import deepcopy from collections import Counter, deque, defaultdict from heapq import heapify, heappop, heappush from itertools import accumulate, product, combinations, combinations_with_replacement, permutations from bisect import bisect, bisect_left, bisect_right from functools import reduce from decimal import Decimal, getcontext, ROUND_HALF_UP def i_input(): return int(input()) def i_map(): return map(int, input().split()) def i_list(): return list(i_map()) def i_row(N): return [i_input() for _ in range(N)] def i_row_list(N): return [i_list() for _ in range(N)] def s_input(): return input() def s_map(): return input().split() def s_list(): return list(s_map()) def s_row(N): return [s_input for _ in range(N)] def s_row_str(N): return [s_list() for _ in range(N)] def s_row_list(N): return [list(s_input()) for _ in range(N)] def lcm(a, b): return a * b // gcd(a, b) def get_distance(x1, y1, x2, y2): d = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) return d def rotate(table): n_fild = [] for x in zip(*table[::-1]): n_fild.append(x) return n_fild sys.setrecursionlimit(10 ** 7) INF = float('inf') MOD = 10 ** 9 + 7 MOD2 = 998244353 def main(): N, V, C = i_map() G = [i_list() for i in range(N)] dp = [[-INF] * (V+1) for i in range(N+1)] dp[0][0] = 0 for i in range(N): w, v = G[i] for j in range(V+1): if j + w <= V: dp[i+1][j+w] = max(dp[i+1][j+w], dp[i+1][j] + v, dp[i][j] + v + C) dp[i+1][j] = max(dp[i+1][j], dp[i][j]) print(max(dp[-1])) if __name__ == '__main__': main()