結果
問題 | No.561 東京と京都 |
ユーザー |
![]() |
提出日時 | 2019-05-12 07:21:39 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 708 bytes |
コンパイル時間 | 158 ms |
コンパイル使用メモリ | 29,824 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-02 01:28:46 |
合計ジャッジ時間 | 936 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
// yukicoder: No.561 東京と京都// 2019.5.12 bal4u#include <stdio.h>#if 0#define gc() getchar_unlocked()#else#define gc() getchar()#endifint in(){int n = 0, c = gc();do n = 10*n + (c & 0xf), c = gc(); while (c >= '0');return n;}int N, D;int T[102], K[102];int dp[102][2];int main(){int i, t;N = in(), D = in();for (i = 1; i <= N; i++) T[i] = in(), K[i] = in();dp[0][1] = -D;for (i = 1; i <= N; i++) {dp[i][0] = dp[i-1][0] + T[i];if ((t = dp[i-1][1] + K[i] - D) > dp[i][0]) dp[i][0] = t;dp[i][1] = dp[i-1][1] + K[i];if ((t = dp[i-1][0] + T[i] - D) > dp[i][1]) dp[i][1] = t;}t = dp[N][0];if (t < dp[N][1]) t = dp[N][1];printf("%d\n", t);return 0;}