結果
問題 | No.27 板の準備 |
ユーザー |
![]() |
提出日時 | 2017-04-01 21:51:33 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 472 ms / 5,000 ms |
コード長 | 498 bytes |
コンパイル時間 | 272 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 38,300 KB |
最終ジャッジ日時 | 2024-12-26 12:57:26 |
合計ジャッジ時間 | 7,099 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
コンパイルメッセージ
Syntax OK
ソースコード
V0, V1, V2, V3 = gets.split.map(&:to_i) D = [*1..30] def f(v, a, b, c) @dp ||= {} @dp[[v, a, b, c]] ||= if v < 0 Float::INFINITY elsif v == 0 0 else [f(v - a, a, b, c), f(v - b, a, b, c), f(v - c, a, b, c)].min + 1 end end ans = D.combination(3).map {|a, b, c| f(V0, a, b, c) + f(V1, a, b, c) + f(V2, a, b, c) + f(V3, a, b, c) }.min puts ans