Pagini recente » Cod sursa (job #1483274) | Cod sursa (job #3252457) | Cod sursa (job #98170) | Cod sursa (job #471335) | Cod sursa (job #51095)
Cod sursa(job #51095)
var f1,f2:text; n,i,j,h,s,nr,l,k,max:longint; v:array[1..3,0..20001] of integer; a:array[1..100] of longint; x:array[1..100000] of longint;
begin
assign(f1,'oite.in');
reset(f1);
assign(f2,'oite.out');
rewrite(f2);
read(f1,n,l);
max:=1;h:=1;
for i:=1 to n do read(f1,a[i]);
x[1]:=a[1];
v[1,x[1]]:=1;
for i:=2 to n do begin
v[1,a[i]]:=1;
max:=h;
for j:=1 to max do begin
for k:=1 to 2 do
if (v[k,x[j]]=1)and(x[j]+a[i]<=l) then
begin
v[k+1,x[j]+a[i]]:=1;
inc(h);
x[h]:=x[j]+a[i];
if a[i]=0 then break;
end;
if (v[3,x[j]]=1)and(x[j]+a[i]=l) then inc(nr);
end;
end;
writeln(f2,nr);
close(f1);
close(f2);
end.