結果
| 問題 |
No.1715 Dinner 2
|
| コンテスト | |
| ユーザー |
H20
|
| 提出日時 | 2021-10-22 22:25:38 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 951 bytes |
| コンパイル時間 | 419 ms |
| コンパイル使用メモリ | 82,404 KB |
| 実行使用メモリ | 87,588 KB |
| 最終ジャッジ日時 | 2024-09-23 06:04:03 |
| 合計ジャッジ時間 | 3,859 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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)]
maxv = -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[1][i]>maxv:
nextv = maxv
maxv = DP[1][i]
maxi = 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]+maxv
else:
maxv = -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][i]>maxv:
nextv = maxv
maxv = DP[d][i]
maxi = 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