Submission #1519038


Source Code Expand

INF = 1 << 30
n, ma, mb = gets.not_nil!.split.map(&.to_i)
p = Array.new(n) { gets.not_nil!.split.map(&.to_i) }
dp = Array.new(n * 10 + 1) { Array.new(n * 10 + 1, INF) }
dp[0][0] = 0
n.times do |i|
  a = p[i][0]
  b = p[i][1]
  c = p[i][2]
  (dp.size - 1).downto(a) do |j|
    (dp.size - 1).downto(b) do |k|
      next if dp[j - a][k - b] == INF
      dp[j][k] = {dp[j][k], dp[j - a][k - b] + c}.min
    end
  end
end
ans = INF
(1...dp.size).each do |i|
  (1...dp.size).each do |j|
    ans = {ans, dp[i][j]}.min if i * mb == j * ma
  end
end
puts ans == INF ? -1 : ans

Submission Info

Submission Time
Task D - Mixing Experiment
User tomerun
Language Crystal (0.20.5)
Score 400
Code Size 591 Byte
Status AC
Exec Time 210 ms
Memory 2812 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 20
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 636 KB
sample_02.txt AC 1 ms 636 KB
subtask_1_01.txt AC 2 ms 636 KB
subtask_1_02.txt AC 1 ms 636 KB
subtask_1_03.txt AC 2 ms 636 KB
subtask_1_04.txt AC 4 ms 636 KB
subtask_1_05.txt AC 8 ms 764 KB
subtask_1_06.txt AC 20 ms 764 KB
subtask_1_07.txt AC 31 ms 892 KB
subtask_1_08.txt AC 40 ms 2812 KB
subtask_1_09.txt AC 71 ms 1020 KB
subtask_1_10.txt AC 115 ms 1148 KB
subtask_1_11.txt AC 174 ms 1532 KB
subtask_1_12.txt AC 210 ms 1532 KB
subtask_1_13.txt AC 206 ms 1532 KB
subtask_1_14.txt AC 206 ms 1532 KB
subtask_1_15.txt AC 207 ms 1532 KB
subtask_1_16.txt AC 209 ms 1532 KB
subtask_1_17.txt AC 209 ms 1532 KB
subtask_1_18.txt AC 207 ms 1532 KB