Cod sursa(job #794487)

Utilizator t.g.g.tt.g.g.t t.g.g.t Data 6 octombrie 2012 13:32:30
Problema Divk Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.5 kb
var c:array[0..500000]of longint; v:array[0..500000]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 ((i-b)>0) then dec(v[c[i-b-1]]);
        if i>=a then inc(v[c[i-a]]);
        s2:=s2+v[c[i]]
      end;
end;
assign(output,'divk.out'); rewrite(output); writeln(s2); close(output);
end.