Cod sursa(job #42627)

Utilizator floringh06Florin Ghesu floringh06 Data 29 martie 2007 13:00:05
Problema Divk Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.63 kb
var fi,fo:text;
    sum:array[0..500005] of longword;
    u:array[0..100005] of longword;
    i,j,n,k,a,b,s,i1,i2,j1,j2,sol:longint;

begin
assign(fi,'divk.in'); reset(fi);
assign(fo,'divk.out'); rewrite(fo);
readln(fi,n,k,a,b);
for i:=1 to n do
 begin
  readln(fi,sum[i]);
  sum[i]:=sum[i]+sum[i-1];
  sum[i]:=sum[i] mod k;
 end;
s:=0;
for i:=1 to a-1 do
 s:=s+sum[i];
i1:=1; i2:=a; j1:=i2-b; j2:=i1-1;
while i2<=n do
 begin
  if j1-1>=0
   then dec(u[sum[j1-1]]);
  if j2>=0 then inc(u[sum[j2]]);
  sol:=sol+u[sum[i2]];
  inc(i1); inc(i2); inc(j1); inc(j2);
 end;
writeln(fo,sol);
close(fo);
close(fi);
end.