Cod sursa(job #1145063)

Utilizator LoriKePetok Lorand LoriKe Data 17 martie 2014 20:40:57
Problema Loto Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.83 kb
Program loto;
var v,st:array[0..100] of byte;
    n:byte;
    s:longint;
    ok:boolean;

Procedure citire;
var i:byte;
    f:text;
begin
assign(f,'loto.in'); reset(f);
readln(f,n,s);
for i:=1 to n do
  read(f,v[i]);
close(f);
end;

Procedure tipar(p:integer);
var i:byte;
begin
for i:=1 to p do
  write(v[st[i]],' ');
writeln;
ok:=true;
end;

Function suma(p:integer):longint;
var j:byte;
    k:longint;
begin
k:=0;
for j:=1 to p do
  k:=k+v[st[j]];
suma:=k;
end;

Procedure bktr(p:integer);
var pval:integer;
begin
for pval:=1 to n do
  begin
    st[p]:=pval;
    if st[p]>=st[p-1] then
    if (suma(p)=s) and (p=6) then tipar(p)
                             else if p<6 then bktr(p+1);
    if ok then break;
  end;
end;

Begin
citire;
ok:=false;
bktr(1);
if ok=false then write(-1);
readln;
End.