結果
問題 | No.561 東京と京都 |
ユーザー |
![]() |
提出日時 | 2017-10-19 14:51:37 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 499 bytes |
コンパイル時間 | 204 ms |
コンパイル使用メモリ | 29,952 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-21 07:35:59 |
合計ジャッジ時間 | 943 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
#include <stdio.h> int t[100], k[100], dpt[100], dpk[100]; int main(void) { int n, d, i; scanf("%d %d", &n, &d); for (i = 0; i<n; i++) { scanf("%d %d", &t[i], &k[i]); } dpt[0] = t[0]; dpk[0] = k[0] - d; for (i = 1; i <= n-1; i++) { dpt[i] = dpt[i - 1] > dpk[i - 1] - d ? dpt[i - 1] + t[i] : dpk[i - 1] - d + t[i]; dpk[i] = dpk[i - 1] > dpt[i - 1] - d ? dpk[i - 1] + k[i] : dpt[i - 1] - d + k[i]; } printf("%d\n", dpt[n-1] > dpk[n-1] ? dpt[n-1] : dpk[n-1]); return 0; }