Pagini recente » Cod sursa (job #2951931) | Cod sursa (job #1873391) | Cod sursa (job #2613614) | Cod sursa (job #1286619) | Cod sursa (job #183893)
Cod sursa(job #183893)
program sume;
var f,g:text;
v,m,p:array[1..5000]of longint;
n,s,i,suma,nm:longint;
ok:boolean;
procedure afisare;
var i,j:longint;
begin
for i:=1 to n do
if p[i]<>0 then
for j:=1 to p[i] do
write(g,v[i],' ');
writeln(g);
close(g);
halt;
end;
procedure plata(k:integer);
var j:longint;
begin
if k=n+1 then
if suma=s then
if nm=6 then
begin
afisare;
ok:=true;
end else
else
else
for j:=0 to m[k] do
if suma+j*v[k]<=s then
begin
nm:=nm+j;
p[k]:=j;
suma:=suma+j*v[k];
plata(k+1);
nm:=nm-j;
suma:=suma-j*v[k];
end;
end;
begin
assign(f,'suma.in');
reset(f);
readln(f,n,s);
for i:=1 to n do
begin
read(f,v[i]);
m[i]:=2147483646;
end;
close(f);
assign(g,'suma.out');
rewrite(g);
suma:=0; ok:=false;
plata(0);
if ok=false then
write(g,'-1');
close(g);
end.