結果
問題 | No.798 コレクション |
ユーザー |
![]() |
提出日時 | 2022-02-06 16:36:51 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 121 ms / 2,000 ms |
コード長 | 414 bytes |
コンパイル時間 | 152 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 76,672 KB |
最終ジャッジ日時 | 2024-06-11 13:49:04 |
合計ジャッジ時間 | 2,800 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
n = int(input()) AB = [] for i in range(n): a, b = map(int, input().split()) AB.append((a, b)) AB.sort(key=lambda x: -x[1]) INF = 10**18 dp = [INF]*(n+1) dp[0] = 0 for i, (a, b) in enumerate(AB): nx = [INF]*(n+1) for j in range(n): if j >= 1: nx[j] = min(nx[j], dp[j-1], dp[j]+a+b*(i-j)) else: nx[j] = min(nx[j], dp[j]+a+b*(i-j)) dp = nx print(dp[n//3])