Cod sursa(job #794536)
Utilizator | t.g.g.t t.g.g.t | Data | 6 octombrie 2012 14:52:41 |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
var c:array[0..500000]of longint; v:array[0..500000]of longint;
b1:array[1..1 shl 18]of char;
n,k,a,b,t,i:longint; s,s2:int64;
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) then dec(v[c[i-b-1]]);
inc(v[c[i-a]]);
s2:=s2+v[c[i]]
end;
end;
close(input);
assign(output,'divk.out'); rewrite(output); writeln(s2); close(output);
end.