#/usr/bin/env perl use strict; use warnings; my ($n, $k) = split / /, <>; chomp $k; my %dp; my @vs; for ($_ = 0; $_ < $n; $_++) { my $m = <>; chomp$m; push @vs, $m; } $dp{0} = 1; my $ma = 0; for (my $s = 0; $s < (1 << $n); $s++) { my $weight = 0; for (my $i = 0; $i < $n; $i++) { if (($s | (1 << $i)) == $s) { $weight += $vs[$i]; if ($weight <= $k) { $ma = $weight if $ma < $weight; } } } } print "$ma\n";