結果
問題 | No.561 東京と京都 |
ユーザー | tetsu |
提出日時 | 2017-08-26 01:13:23 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 153 ms / 2,000 ms |
コード長 | 769 bytes |
コンパイル時間 | 3,683 ms |
コンパイル使用メモリ | 77,660 KB |
実行使用メモリ | 54,196 KB |
最終ジャッジ日時 | 2024-10-15 17:00:40 |
合計ジャッジ時間 | 7,597 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
package yuki172; import java.util.Scanner; public class D { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int N = sc.nextInt(); long D = sc.nextLong(); long[] T = new long[N]; long[] K = new long[N]; long[] Tans = new long[N]; long[] Kans = new long[N]; for(int i=0; i<N; i++) { T[i] = sc.nextLong(); K[i] = sc.nextLong(); } sc.close(); Tans[0] = T[0]; Kans[0] = K[0] - D; for(int i=1; i<N; i++) { Tans[i] = T[i] + max(Tans[i-1], Kans[i-1]-D); Kans[i] = K[i] + max(Tans[i-1]-D, Kans[i-1]); } System.out.println(max(Tans[N-1], Kans[N-1])); } private static long max(long a, long b) { if(a > b) { return a; } else { return b; } } }