Cod sursa(job #50053)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 6 aprilie 2007 19:33:38
Problema Divk Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.4 kb
var t,s,v:array[0..100000] of int64;
    f,g:text;
    n,k,a,b,i,tot:longint;
begin
 assign(f,'divk.in'); reset(f);
 assign(g,'divk.out'); rewrite(g);
 read(f,n,k,a,b);
 tot:=0;
 for i:=1 to n do begin
  read(f,t[i]);
  s[i]:=(s[i-1]+t[i]) mod k;
  if (i>=b+1) then
   dec(v[s[i-b-1]]);
  if (i>=a) then
   inc(v[s[i-a]]);
  tot:=tot+v[s[i]];
 end;
 writeln(g,tot);
 close(f); close(g);
end.