結果
問題 |
No.561 東京と京都
|
ユーザー |
![]() |
提出日時 | 2021-07-02 13:08:35 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 38 ms / 2,000 ms |
コード長 | 546 bytes |
コンパイル時間 | 251 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 52,736 KB |
最終ジャッジ日時 | 2024-06-28 22:56:56 |
合計ジャッジ時間 | 1,944 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
N,D = map(int,input().split()) dp = [[0 for i in range(2)]for j in range(N+1)] #dp[i][0] = i日目に東京にいる時に得ることが出来る最大の利益 #dp[i][1] = i日目に京都にいる時に得ることが出来る最大の利益 T = [] K = [] for i in range(N): t,k = map(int,input().split()) T.append(t) K.append(k) dp[1][0] = T[0] dp[1][1] = K[0]-D for i in range(2,N+1): dp[i][0] = max(dp[i-1][0]+T[i-1],dp[i-1][1]+T[i-1]-D) dp[i][1] = max(dp[i-1][1]+K[i-1],dp[i-1][0]+K[i-1]-D) #print(dp) print(max(dp[N]))