結果
問題 |
No.1858 Gorgeous Knapsack
|
ユーザー |
|
提出日時 | 2022-03-14 16:26:51 |
言語 | Scala(Beta) (3.6.2) |
結果 |
AC
|
実行時間 | 1,049 ms / 2,000 ms |
コード長 | 676 bytes |
コンパイル時間 | 13,756 ms |
コンパイル使用メモリ | 260,508 KB |
実行使用メモリ | 65,572 KB |
最終ジャッジ日時 | 2024-09-20 03:30:53 |
合計ジャッジ時間 | 54,258 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 37 |
ソースコード
import java.io.PrintWriter import scala.collection.mutable.* import scala.io.StdIn.* import scala.util.chaining.* import scala.math.* import scala.reflect.ClassTag import scala.util.* import scala.annotation.tailrec import scala.collection.mutable @main def main() = val Array(n, m) = readLine().split(' ').map(_.toInt) val jewels = Array.fill(n){ val Array(v, w) = readLine().split(' ').map(_.toInt) v -> w } val memo = Array.fill(m + 1){0L} var result = 0L for (v, w) <- jewels.sortBy(_._1)(Ordering[Int].reverse) do for i <- m to w by -1 do memo(i) = max(memo(i), memo(i - w) + v) result = max(result, v * memo.last) println(result)