Submission #3013967


Source Code Expand

lines = $stdin.read
array = lines.split("\n")
N,W  = array[0].split(" ").map(&:to_i)
item = array[1..N+1].map do |str|
  str.split(" ").map(&:to_i)
end

# item = {v, w}
#p item

tmp_h = {}
tmp_a = []

s = 0
S1 = item[0...N/2]
s,len = 0,S1.length
while s < (1<<N/2)
  a = s.to_s(2)
        .rjust(len,'0')
        .split("")
        .map(&:to_i)

  tmp_h = {:v => 0, :w => 0}

  S1.zip(a).each do |test|
    i,bit = test.first,test.last
    if bit==1
      #puts "item=#{i},#{bit}"
      tmp_h[:v] += i.first
      tmp_h[:w] += i.last
    end
  end

  tmp_a << tmp_h if tmp_h[:w] <= W
  s += 1
end

tmp_b = []

S2 = item[N/2...N]
s,len = 0,S2.length
while s < (1<<N-(N/2))
  a = s.to_s(2)
        .rjust(len,'0')
        .split("")
        .map(&:to_i)

  tmp_h = {:v => 0, :w => 0}

  S2.zip(a).each do |test|
    i,bit = test.first,test.last
    if bit==1
      #puts "item=#{i},#{bit}"
      tmp_h[:v] += i.first
      tmp_h[:w] += i.last
    end
  end

  tmp_b << tmp_h if tmp_h[:w] <= W
  s += 1
end

ans_v = 0

tmp_a = tmp_a.sort_by{|m| -m[:v]}
tmp_b = tmp_b.sort_by{|m| -m[:v]}

tmp_a.sort_by{|m| -m[:v]}.each do |h|
  test = tmp_b.select do |e|
    h[:w] + e[:w] <= W
  end.max_by do |e|
    e[:v]
  end
  # p h
  # p test
  # p tmp_b
  # puts "---"
  possible = h[:v]+test[:v]
  ans_v = possible if possible>ans_v
end

puts ans_v

Submission Info

Submission Time
Task D - ナップサック問題
User hiroyuking
Language Ruby (2.3.3)
Score 0
Code Size 1418 Byte
Status TLE
Exec Time 2110 ms
Memory 41588 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 0 / 34 0 / 33 0 / 33
Status
AC × 4
AC × 18
TLE × 1
AC × 2
TLE × 15
AC × 2
TLE × 12
Set Name Test Cases
Sample subtask00_sample_1.txt, subtask00_sample_2.txt, subtask00_sample_3.txt, subtask00_sample_4.txt
Subtask1 subtask01_0.txt, subtask01_1.txt, subtask01_10.txt, subtask01_11.txt, subtask01_12.txt, subtask01_13.txt, subtask01_14.txt, subtask01_2.txt, subtask01_3.txt, subtask01_4.txt, subtask01_5.txt, subtask01_6.txt, subtask01_7.txt, subtask01_8.txt, subtask01_9.txt, subtask00_sample_1.txt, subtask00_sample_2.txt, subtask00_sample_3.txt, subtask00_sample_4.txt
Subtask2 subtask02_0.txt, subtask02_1.txt, subtask02_10.txt, subtask02_11.txt, subtask02_12.txt, subtask02_13.txt, subtask02_14.txt, subtask02_2.txt, subtask02_3.txt, subtask02_4.txt, subtask02_5.txt, subtask02_6.txt, subtask02_7.txt, subtask02_8.txt, subtask02_9.txt, subtask00_sample_1.txt, subtask00_sample_3.txt
Subtask3 subtask03_0.txt, subtask03_1.txt, subtask03_10.txt, subtask03_11.txt, subtask03_2.txt, subtask03_3.txt, subtask03_4.txt, subtask03_5.txt, subtask03_6.txt, subtask03_7.txt, subtask03_8.txt, subtask03_9.txt, subtask00_sample_1.txt, subtask00_sample_4.txt
Case Name Status Exec Time Memory
subtask00_sample_1.txt AC 7 ms 1788 KB
subtask00_sample_2.txt AC 1324 ms 2040 KB
subtask00_sample_3.txt AC 8 ms 1916 KB
subtask00_sample_4.txt AC 8 ms 1916 KB
subtask01_0.txt AC 1325 ms 4084 KB
subtask01_1.txt AC 1325 ms 1916 KB
subtask01_10.txt AC 1319 ms 1916 KB
subtask01_11.txt AC 1317 ms 1916 KB
subtask01_12.txt AC 1326 ms 2040 KB
subtask01_13.txt AC 1318 ms 1916 KB
subtask01_14.txt AC 1328 ms 1916 KB
subtask01_2.txt AC 1321 ms 1916 KB
subtask01_3.txt AC 1335 ms 1916 KB
subtask01_4.txt AC 1331 ms 1916 KB
subtask01_5.txt TLE 2110 ms 41588 KB
subtask01_6.txt AC 1326 ms 1916 KB
subtask01_7.txt AC 1331 ms 1916 KB
subtask01_8.txt AC 1341 ms 2296 KB
subtask01_9.txt AC 1328 ms 1916 KB
subtask02_0.txt TLE 2108 ms 9724 KB
subtask02_1.txt TLE 2108 ms 9724 KB
subtask02_10.txt TLE 2108 ms 9724 KB
subtask02_11.txt TLE 2108 ms 9724 KB
subtask02_12.txt TLE 2108 ms 10240 KB
subtask02_13.txt TLE 2108 ms 9724 KB
subtask02_14.txt TLE 2108 ms 9724 KB
subtask02_2.txt TLE 2108 ms 9724 KB
subtask02_3.txt TLE 2108 ms 9724 KB
subtask02_4.txt TLE 2108 ms 9724 KB
subtask02_5.txt TLE 2108 ms 9724 KB
subtask02_6.txt TLE 2108 ms 9724 KB
subtask02_7.txt TLE 2108 ms 9724 KB
subtask02_8.txt TLE 2108 ms 9724 KB
subtask02_9.txt TLE 2108 ms 9724 KB
subtask03_0.txt TLE 2107 ms 2300 KB
subtask03_1.txt TLE 2108 ms 2428 KB
subtask03_10.txt TLE 2107 ms 4348 KB
subtask03_11.txt TLE 2107 ms 2300 KB
subtask03_2.txt TLE 2107 ms 2300 KB
subtask03_3.txt TLE 2107 ms 2428 KB
subtask03_4.txt TLE 2107 ms 2428 KB
subtask03_5.txt TLE 2107 ms 2812 KB
subtask03_6.txt TLE 2107 ms 2300 KB
subtask03_7.txt TLE 2108 ms 9724 KB
subtask03_8.txt TLE 2108 ms 9724 KB
subtask03_9.txt TLE 2108 ms 11004 KB