Cod sursa(job #546313)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 4 martie 2011 19:11:36
Problema Loto Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.23 kb
var     a,v:array[1..100] of longint;
        n,i:integer;
        s,nm:longint;
        f1,f2:text;
        b:boolean;

procedure loto(p:integer; s1:longint);
var     i:integer;
begin
  if p>6 then begin
      if s1=s then
    begin
      for i:=1 to 6 do
        write(f2,v[i],' ');
      close(f2);
      halt;
    end
    end
  else
    for i:=1 to n do
      begin
        v[p]:=a[i];
        loto(p+1,s1+a[i]);
      end;
end;

procedure sw(var a,b:longint);
var t:longint;
begin
  t:=a; a:=b; b:=t;
end;

procedure qs(left,right:integer);
var i,j:integer; r:longint;
begin
  i:=left;
  j:=right;
  r:=a[(i+j) div 2];
  while i<j do
    begin
      while a[i]<r do inc(i);
      while a[j]>r do dec(j);
      if i<=j then begin sw(a[i],a[j]); inc(i); dec(j); end;
    end;
  if i<right then qs(i,right);
  if j>left then qs(left,j);
end;


begin
  assign(f1,'loto.in');
  assign(f2,'loto.out');
  reset(f1);
  rewrite(f2);
  readln(f1,n,s);
  for i:=1 to n do
    read(f1,a[i]);

//  qs(1,n);
  nm:=a[1];
  for i:=2 to n do
    if a[i]>nm then nm:=a[i];

  if s<=nm*6 then
//  for i:=1 to n do
    begin
 //     v[1]:=a[i];
      loto(1,0);
    end;

  writeln(f2,-1);
  close(f2);
end.