20 lines
455 B
ObjectPascal
20 lines
455 B
ObjectPascal
var f:array[0..20000]of boolean;
|
|
c:array[1..30] of longint;
|
|
v,n,i,j,o,max:longint;
|
|
begin
|
|
assign(input,'boxes.in'); reset(input);
|
|
assign(output,'boxes.out'); rewrite(output);
|
|
readln(v);
|
|
readln(n);
|
|
for i:=1 to n do
|
|
read(c[i]);
|
|
f[0]:=true;
|
|
for i:=1 to n do
|
|
begin
|
|
for j:=v downto 0 do if (j+c[i]<=v)and(f[j]) then f[j+c[i]]:=true;
|
|
end;
|
|
for j:=0 to v do if f[j] then max:=j;
|
|
writeln(v-max);
|
|
close(input);close(output);
|
|
end.
|