結果
問題 | No.561 東京と京都 |
ユーザー | mmn15277198 |
提出日時 | 2021-02-04 18:23:11 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 558 bytes |
コンパイル時間 | 1,547 ms |
コンパイル使用メモリ | 170,816 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 23:43:52 |
合計ジャッジ時間 | 2,334 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ int n , d; cin >> n >> d; vector<vector<ll>> dp(n + 10 , vector<ll>(2 , 0)); for(int i = 0; i < n; i++){ ll a , b; cin >> a >> b; if(i == 0){ dp[0][0] = a; dp[0][1] = b - d; }else{ dp[i][0] = max(dp[i - 1][0] + a , dp[i - 1][1] + a - d); dp[i][1] = max(dp[i - 1][1] + b , dp[i - 1][0] + b - d); } } cout << max(dp[n - 1][0] , dp[n - 1][1]) << endl; return 0; }