Pagini recente » Cod sursa (job #1862946) | Cod sursa (job #925301) | Cod sursa (job #2578342) | Cod sursa (job #2528384) | Cod sursa (job #1676465)
var n,g,i,j,k,max:longint;
a,optim,b:array[0..75000] of longint;
m:array[1..75000,1..100] of longint;
begin
assign(input,'ghiozdan.in');
assign(output,'ghiozdan.out');
reset(input);
rewrite(output);
read(n,g);
for i:=1 to n do read(a[i]);
max:=0;
optim[0]:=0;
for i:=1 to n do
for j:=g downto a[i] do begin
if (optim[j-a[i]]+a[i]=optim[j]) and (b[j-a[i]]+1<b[j]) then begin
b[j]:=b[j-a[i]]+1;
// m[j,b[j]]:=a[i];
end;
if (optim[j-a[i]]+a[i]>optim[j]) then begin
optim[j]:=optim[j-a[i]]+a[i];
b[j]:=b[j-a[i]]+1;
// for k:=1 to b[j] do
// m[j,k]:=m[j-a[i],k];
// inc(b[j]);
// m[j,b[j]]:=a[i];
end;
if optim[max]<optim[j] then max:=j;
end;
// for i:=1 to g do begin
// for j:=1 to b[i] do write(m[i,j],' ');
// writeln;
// end;
// for i:=1 to max do write(optim[i],' ');
writeln(optim[max],' ',b[max]);
// for i:=1 to b[max] do writeln(m[max,i])
end.