Cod sursa(job #603640)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 17 iulie 2011 23:33:12
Problema Divk Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.66 kb
Program divk;
var n,k,a,b,i:longint;
    r:int64;
    v,s,c:array[0..500005] of longint;
    b1,b2:array[1..1 shl 17] of char;
    fi,fo:text;
begin
 assign(fi,'divk.in');
  reset(fi);
 assign(fo,'divk.out');
  rewrite(fo);
 settextbuf(fi,b1);
 settextbuf(fo,b2);
  readln(fi,n,k,a,b);
   for i:=1 to n do begin
                     readln(fi,v[i]);
                     s[i]:=(s[i-1]+v[i]) mod k;
                     end;
   for i:=a to n do begin
                     inc(c[s[i-a]]);
                      if i>b then c[s[i-b-1]]:=c[s[i-b-1]]-1;
                       r:=r + c[s[i]];
                      end;
 write(fo,r);
close(fo);
end.