結果
問題 | No.561 東京と京都 |
ユーザー |
![]() |
提出日時 | 2019-06-25 16:27:17 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 1,367 bytes |
コンパイル時間 | 208 ms |
コンパイル使用メモリ | 29,312 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 01:24:20 |
合計ジャッジ時間 | 927 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
#include <stdio.h> int main(void){ int days, koutsu; scanf( "%d %d", &days, &koutsu ); int t[100]; int k[100]; int i = 0; int hikaku[2]; int hikaku_prev[2]; for( i = 0; i < days; i++ ){ int input_t, input_k; scanf( "%d %d", &input_t, &input_k ); t[i] = input_t; k[i] = input_k; } // 初期処理 hikaku_prev[0] = t[0]; hikaku_prev[1] = k[0] - koutsu; hikaku[0] = 0; hikaku[1] = 0; for( i = 1; i < days; i++ ){ //東京の仕事で期待できる最大の値を得る // 移動しない場合と移動した場合 if( hikaku_prev[0] > hikaku_prev[1] - koutsu ){ hikaku[0] = t[i] + hikaku_prev[0]; }else{ hikaku[0] = t[i] + hikaku_prev[1] - koutsu; } //京都の仕事で期待できる最大の値を得る // 移動しない場合と移動した場合 if( hikaku_prev[1] > hikaku_prev[0] - koutsu ){ hikaku[1] = k[i] + hikaku_prev[1]; }else{ hikaku[1] = k[i] + hikaku_prev[0] - koutsu; } //保存 hikaku_prev[0] = hikaku[0]; hikaku_prev[1] = hikaku[1]; } if( hikaku_prev[0] >= hikaku_prev[1] ){ printf( "%d\n", hikaku_prev[0] ); }else{ printf( "%d\n", hikaku_prev[1] ); } return 0; }