Cod sursa(job #794456)

Utilizator t.g.g.tt.g.g.t t.g.g.t Data 6 octombrie 2012 13:00:27
Problema Divk Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.57 kb
var c:array[0..500000]of longint; v:array[1..100000]of longint;
b1:array[1..1 shl 17]of char;
i,n,k,a,b,t,s,s2:longint;
begin
assign(input,'divk.in'); reset(input); settextbuf(input,b1);
readln(n,k,a,b); s:=0; s2:=0;
for i:=1 to n do
  begin
    readln(t);
    s:=s+t;
    c[i]:=s mod k;
    if i>=a then
      begin
        if (c[i]=0) then inc(s2);
        if ((i-b)>0) then if (c[i-b]>0) then  dec(v[c[i-b]]);
        if i>a then if (c[i-a]>0) then inc(v[c[i-a]]);
        s2:=s2+v[c[i]]
      end;
end;
assign(output,'divk.out'); rewrite(output); writeln(s2); close(output);
end.