結果
問題 |
No.505 カードの数式2
|
ユーザー |
|
提出日時 | 2017-07-03 04:53:20 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 92 ms / 2,000 ms |
コード長 | 488 bytes |
コンパイル時間 | 105 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,416 KB |
最終ジャッジ日時 | 2024-11-14 07:28:13 |
合計ジャッジ時間 | 3,861 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
コンパイルメッセージ
Syntax OK
ソースコード
gets arr = gets.chomp.split.map(&:to_i) dp = {} dp[0] = [] dp[0][0] = dp[0][1] = arr[0] def calc_min_and_max(arr, cur) r = [] c = 0 0.upto(1) do |i| r[c] = arr[i] + cur c += 1 r[c] = arr[i] - cur c += 1 r[c] = arr[i] * cur c += 1 if cur != 0 r[c] = (arr[i] / (cur + 0.0)).ceil c += 1 end end [r.min, r.max] end 1.upto(arr.length - 1) do |i| dp[i] = {} dp[i] = calc_min_and_max(dp[i - 1], arr[i]) end puts dp[arr.size - 1].max