Cod sursa(job #40933)

Utilizator andrewgPestele cel Mare andrewg Data 27 martie 2007 20:46:15
Problema Oite Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
const maxn = 1025;

var f:text;
    n,m,s,i,j,sol:longint;
    a:array[1..maxn]of longint;
    st:array[0..maxn]of longint;

procedure readdata;
begin
   assign(f,'oite.in');
   reset(f);
   readln(f,n,m);
   for i:=1 to n do
   begin
      read(f,a[i]);
   end;
   close(f);
end;

procedure back(k:longint);
var i:longint;
begin
   if k>4 then
   begin
      if s=m then inc(sol);
   end
      else
   begin
      for i:=st[k-1]+1 to n do
      begin
         if a[i]+s<=m then
         begin
            st[k]:=i;
            s:=s+a[i];
            back(k+1);
            s:=s-a[i];
         end;
      end;
   end;
end;

procedure solve;
begin
   st[0]:=0;
   s:=0;
   sol:=0;
   back(1);
end;

procedure writedata;
begin

end;

begin
   readdata;
   solve;
   writedata;
end.