Submission #608222
Source Code Expand
P = Struct.new(:v, :w)
N, W = gets.split.map(&:to_i)
List = []
N.times{
List.push P.new(*gets.split.map(&:to_i))
}
def solve1
def solve(i, val, rest_w)
if i == List.size
val
elsif List[i].w > rest_w
solve i+1, val, rest_w
else
[solve(i+1, val+List[i].v, rest_w-List[i].w), solve(i+1, val, rest_w)].max
end
end
puts solve(0, 0, W)
end
def solve2
a = Array.new(W+1, 0)
b = Array.new(W+1, 0)
(N-1).downto(0){|i|
(W+1).times{|j|
if j < List[i].w
a[j] = b[j]
else
a[j] = [b[j], b[j-List[i].w] + List[i].v].max
end
}
b = a
a = Array.new(W+1, 0)
}
puts b[W]
end
def solve3
$memo = Array.new(N+1){ {} }
def solve(i, val, rest_w)
if $memo[i][val] && $memo[i][val] > rest_w
rest_w
else
$memo[i][val] = if i == List.size
rest_w
elsif List[i].w > rest_w
solve i+1, val, rest_w
else
[solve(i+1, val+List[i].v, rest_w-List[i].w), solve(i+1, val, rest_w)].max
end
end
end
solve 0, 0, W
puts $memo[N].keys.max
end
if List.map(&:w).max <= 1000
solve2
elsif List.map(&:v).max <= 1000
solve3
else
solve1
end
Submission Info
| Submission Time |
|
| Task |
D - ナップサック問題 |
| User |
kura07 |
| Language |
Ruby (2.1.5p273) |
| Score |
34 |
| Code Size |
1148 Byte |
| Status |
TLE |
| Exec Time |
2042 ms |
| Memory |
50028 KiB |
Judge Result
| Set Name |
Sample |
Subtask1 |
Subtask2 |
Subtask3 |
| Score / Max Score |
0 / 0 |
34 / 34 |
0 / 33 |
0 / 33 |
| Status |
|
|
|
|
| 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 |
61 ms |
5144 KiB |
| subtask00_sample_2.txt |
AC |
67 ms |
5096 KiB |
| subtask00_sample_3.txt |
AC |
85 ms |
5352 KiB |
| subtask00_sample_4.txt |
AC |
56 ms |
5144 KiB |
| subtask01_0.txt |
AC |
58 ms |
5100 KiB |
| subtask01_1.txt |
AC |
57 ms |
5096 KiB |
| subtask01_10.txt |
AC |
58 ms |
5096 KiB |
| subtask01_11.txt |
AC |
54 ms |
5096 KiB |
| subtask01_12.txt |
AC |
58 ms |
5100 KiB |
| subtask01_13.txt |
AC |
54 ms |
5100 KiB |
| subtask01_14.txt |
AC |
55 ms |
5100 KiB |
| subtask01_2.txt |
AC |
54 ms |
5100 KiB |
| subtask01_3.txt |
AC |
54 ms |
5144 KiB |
| subtask01_4.txt |
AC |
57 ms |
5100 KiB |
| subtask01_5.txt |
AC |
54 ms |
5096 KiB |
| subtask01_6.txt |
AC |
54 ms |
5100 KiB |
| subtask01_7.txt |
AC |
55 ms |
5100 KiB |
| subtask01_8.txt |
AC |
63 ms |
5144 KiB |
| subtask01_9.txt |
AC |
54 ms |
5092 KiB |
| subtask02_0.txt |
TLE |
2035 ms |
22752 KiB |
| subtask02_1.txt |
TLE |
2037 ms |
21952 KiB |
| subtask02_10.txt |
TLE |
2037 ms |
21992 KiB |
| subtask02_11.txt |
TLE |
2037 ms |
21680 KiB |
| subtask02_12.txt |
TLE |
2041 ms |
22380 KiB |
| subtask02_13.txt |
AC |
98 ms |
5224 KiB |
| subtask02_14.txt |
AC |
1291 ms |
15904 KiB |
| subtask02_2.txt |
TLE |
2036 ms |
22252 KiB |
| subtask02_3.txt |
TLE |
2038 ms |
21852 KiB |
| subtask02_4.txt |
TLE |
2038 ms |
22632 KiB |
| subtask02_5.txt |
AC |
1163 ms |
14572 KiB |
| subtask02_6.txt |
TLE |
2035 ms |
22352 KiB |
| subtask02_7.txt |
TLE |
2040 ms |
22376 KiB |
| subtask02_8.txt |
TLE |
2037 ms |
21996 KiB |
| subtask02_9.txt |
TLE |
2039 ms |
22760 KiB |
| subtask03_0.txt |
AC |
383 ms |
19180 KiB |
| subtask03_1.txt |
TLE |
2042 ms |
47828 KiB |
| subtask03_10.txt |
AC |
214 ms |
14492 KiB |
| subtask03_11.txt |
AC |
66 ms |
5228 KiB |
| subtask03_2.txt |
TLE |
2041 ms |
43964 KiB |
| subtask03_3.txt |
TLE |
2039 ms |
47592 KiB |
| subtask03_4.txt |
TLE |
2038 ms |
50028 KiB |
| subtask03_5.txt |
TLE |
2040 ms |
43724 KiB |
| subtask03_6.txt |
AC |
254 ms |
16492 KiB |
| subtask03_7.txt |
TLE |
2039 ms |
35648 KiB |
| subtask03_8.txt |
TLE |
2039 ms |
35644 KiB |
| subtask03_9.txt |
TLE |
2038 ms |
28648 KiB |