Cod sursa(job #576040)

Utilizator alinhAlin H alinh Data 9 aprilie 2011 10:43:07
Problema Loto Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.38 kb
const
  fi = 'loto.in';
  fo = 'loto.out';

var
  f : text;
  i,j,n : word;
  s : longword;
  a : array [1..100] of longword;
  k1, k2, k3, k4, k5, k6 : word;
  gasit : boolean = false;

  x : longword;

procedure sortare;
  begin
    for j:=2 to n do
      begin
        x := a[j];
        i := j-1;
        while ((i>=1) and (x<a[i])) do
          begin
            a[i+1] := a[i];
            i := i-1;
          end;
        a[i+1] := x;
      end;
  end;

begin
  assign(f,fi);
  reset(f);
  read(f,n,s);
  for i := 1 to n do
    read(f,a[i]);
  close(f);

  sortare;

  assign(f,fo);
  rewrite(F);
  for k1 := 1 to n do
    if a[k1] < s then
    for k2 := k1 to n do
      if a[k1] + a[k2] < s then
      for k3 := k2 to n do
        if a[k1] + a[k2] + a[k3] < s then
        for k4 := k3 to n do
          if a[k1]+a[k2]+a[k3]+a[k4] < s then
          for k5 := k4 to n do
            if a[k1]+a[k2]+a[k3]+a[k4]+a[k5] < s then
            for k6 := k5 to n do
              if a[k1] + a[k2] + a[k3] + a[k4] + a[k5] + a[k6] = s then
                if not gasit then
                  begin
                    write(f,a[k1],' ',a[k2],' ',a[k3],' ',a[k4],' ',a[k5],' ',a[k6]);
                    gasit := true;
                    close(f);
                    halt;
                  end;
  if not gasit then write(f,-1);
  close(f);
end.