Cod sursa(job #515930)
Utilizator | Salajan Razvan vendetta | Data | 22 decembrie 2010 18:32:26 |
---|---|---|---|
Problema | Divk | Scor | 90 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
const f='divk.in';g='divk.out';
var
i,n,k,a,b,rez:longint;
v,m:array[0..500001] of longint;
begin
assign(input,f);reset(input);
assign(output,g);rewrite(output);
readln(n,k,a,b);
for i:=1 to n do
begin
readln(v[i]);
v[i]:=v[i]+v[i-1];
v[i]:=v[i] mod k;
end;
m[0]:=1;
for i:=a to n do
begin
rez:=rez+m[v[i]];
inc(m[v[i-a+1]]);
if i>=b then m[v[i-b]]:=m[v[i-b]]-1;
end;
write(rez);
close(input);close(output);
end.