Cod sursa(job #183889)

Utilizator black_pussaasd sada black_puss Data 22 aprilie 2008 18:23:14
Problema Loto Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.97 kb
program sume;
var f,g:text;
    v,m,p:array[1..100]of integer;
    n,s,i,suma,nm:integer;
    ok:boolean;
procedure afisare;
var i,j:integer;
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:integer;
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]:=s div v[i]+1;
   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.