結果
| 問題 |
No.1715 Dinner 2
|
| コンテスト | |
| ユーザー |
H20
|
| 提出日時 | 2021-10-22 22:35:48 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,063 bytes |
| コンパイル時間 | 263 ms |
| コンパイル使用メモリ | 82,408 KB |
| 実行使用メモリ | 88,196 KB |
| 最終ジャッジ日時 | 2024-09-23 06:17:24 |
| 合計ジャッジ時間 | 3,775 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | AC * 31 WA * 7 |
ソースコード
N,D=map(int, input().split())
PQ = [list(map(int, input().split())) for _ in range(N)]
DP = [[0]*N for _ in range(2*D)]
maxv1 = -10**12
maxv2 = -10**12
maxi = -1
nextv = -10**12
for i in range(N):
DP[0][i]=-PQ[i][0]
DP[1][i]=PQ[i][1]-PQ[i][0]
if DP[0][i]>maxv1:
maxv1 = DP[0][i]
maxi = i
nextv = maxv2
maxv2 = DP[1][i]
else:
nextv = max(nextv,DP[1][i])
for d in range(2,2*D):
if d%2==0:
for i in range(N):
if maxi==i:
DP[d][i]=-PQ[i][0]+nextv
else:
DP[d][i]=-PQ[i][0]+maxv2
else:
maxv1 = -10**12
maxv2 = -10**12
maxi = -1
nextv = -10**12
for i in range(N):
DP[d][i]=PQ[i][1]+DP[d-1][i]
if DP[d-1][i]>maxv1:
maxv1 = DP[d-1][i]
maxi = i
nextv = maxv2
maxv2 = DP[d][i]
else:
nextv = max(nextv,DP[d][i])
ans = 10**12
for i in range(0,2*D,2):
ans = min(ans,max(DP[i]))
print(ans)
H20