結果
問題 |
No.561 東京と京都
|
ユーザー |
|
提出日時 | 2021-04-06 17:34:32 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 86 ms / 2,000 ms |
コード長 | 589 bytes |
コンパイル時間 | 122 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,416 KB |
最終ジャッジ日時 | 2024-06-11 15:22:31 |
合計ジャッジ時間 | 2,693 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
コンパイルメッセージ
Syntax OK
ソースコード
n, d = gets.chomp.split(" ").map(&:to_i) #片道d円東京から大阪までの賃金 #t,kは東京と大阪でもらえる賃金である dp = Array.new(n+1).map{Array.new(2,0)} #一つ前の遷移を見てあげる。 #例えば、今回の仕事の前の段階で東京で仕事を行った。 #もしくは、大阪で仕事を行った。 #以上2つの最高の持っている金額を示す。 dp[0][1]= -d n.times do |i| t, k = gets.chomp.split(" ").map(&:to_i) dp[i+1][0] = [dp[i][0]+t,dp[i][1]-d+t].max dp[i+1][1] = [dp[i][0]-d+k,dp[i][1]+k].max end puts dp.pop.max