結果
| 問題 |
No.798 コレクション
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-04-12 15:21:28 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 250 ms / 2,000 ms |
| コード長 | 474 bytes |
| コンパイル時間 | 444 ms |
| コンパイル使用メモリ | 82,468 KB |
| 実行使用メモリ | 122,156 KB |
| 最終ジャッジ日時 | 2024-12-17 21:23:14 |
| 合計ジャッジ時間 | 4,122 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
ソースコード
N = int(input())
lsAB = []
for i in range(N):
A,B = map(int,input().split())
lsAB.append([A,B])
lsAB.sort(key=lambda x:-x[1])
INF = float('INF')
if N%3==0:
M = 2*(N//3)
elif N % 3 == 1:
M = 2*(N//3)+1
else:
M = 2*(N//3)+2
dp = [[INF]*(N) for i in range(M)]
for i in range(N):
dp[0][i] = lsAB[i][0]
for i in range(1,M):
rm = INF
for j in range(N):
dp[i][j]=rm+lsAB[j][0]+lsAB[j][1]*i
rm = min(rm,dp[i-1][j])
print(min(dp[-1]))