Cod sursa(job #50864)

Utilizator marius21Petcu Marius marius21 Data 9 aprilie 2007 10:45:38
Problema Loto Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.01 kb
var s:array[1..6] of byte;
a:array[1..100] of longint;
f,g:text;
i,n,sm,k,scrr:longint;
ev,sf:boolean;

procedure solutie;
var i:longint;
begin
for i:=1 to 6 do
	write(g,a[s[i]],' ');
writeln(g);
close(f);
close(g);
halt(0);
end;

procedure back;
begin
k:=1;
s[1]:=0;
while k<>0 do begin
		repeat
      	inc(s[k]);
      	if s[k]>n then sf:=true
      				 else sf:=false;
      	if not sf then
      		if a[s[k]]+scrr>sm then ev:=false
      						 		 else ev:=true;
      until sf or (ev and not sf);
      if sf or (k>6) then begin
      	dec(k);
      	dec(scrr,a[s[k]]);
         end
      else
         if (k=6) and (scrr+a[s[k]] = sm) then
         	solutie
         else
            begin
            inc(scrr,a[s[k]]);
            inc(k);
            s[k]:=s[k-1]-1;
            end;
		end;
end;

begin
assign(f,'loto.in');
assign(g,'loto.out');
reset(f);
rewrite(g);
read(f,n,sm);
for i:=1 to n do
	read(f,a[i]);
back;
writeln(g,-1);
close(f);
close(g);
end.