結果
問題 | No.1430 Coup de Coupon |
ユーザー |
![]() |
提出日時 | 2023-04-18 12:24:13 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 712 bytes |
コンパイル時間 | 575 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 77,952 KB |
最終ジャッジ日時 | 2024-10-13 10:47:20 |
合計ジャッジ時間 | 8,070 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 6 WA * 21 |
ソースコード
import sysreadline = sys.stdin.readlineN, C = map(int, readline().split())P = [0] * Nfor i in range(N):P[i] = int(readline())X1, X2 = [], []for i in range(C):T, X = map(int, readline().split())if T == 1:X1.append(X)else:X2.append(X)C1, C2 = len(X1), len(X2)X1.sort(reverse=True)X2.sort(reverse=True)inf = 10 ** 18pre = [-inf] * (C + 1)pre[0] = 0for i in range(min(N, C)):dp = [-inf] * (C + 1)for j in range(C1):dp[j + 1] = max(dp[j + 1], pre[j] + min(P[i], X1[j]))j2 = i - jif j2 >= C2 or j2 < 0:continuedp[j] = max(dp[j], pre[j] + P[i]//100 * X2[j2])dp, pre = pre, dpprint(sum(P) - max(pre))