Cod sursa(job #185362)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 25 aprilie 2008 10:29:51
Problema Divk Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.5 kb
var v:array[0..100000] of longint;
    s:array[0..500000] of longint;
    x,a,b,k,i,n,j:longint;
    nr:int64;
    f,g:text;

begin
 assign(f,'divk.in'); reset(f);
 assign(g,'divk.out'); rewrite(g);
 read(f,n,k,a,b);
 v[0]:=1;
 for i:=1 to a-1 do begin
  read(f,x);
  s[i]:=(s[i-1]+x) mod k;
 end;
 nr:=0;
 for i:=a to n do begin
  read(f,x);
  s[i]:=(s[i-1]+x) mod k;
  nr:=nr+v[s[i]];
  inc(v[s[i-a+1]]);
  if i>=b then
   dec(v[s[i-b]]);
 end;
 writeln(g,nr);
 close(f); close(g);
end.