結果
問題 | 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]))