Cod sursa(job #515931)

Utilizator vendettaSalajan Razvan vendetta Data 22 decembrie 2010 18:34:41
Problema Divk Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.61 kb
const f='divk.in';g='divk.out';
var
    i,n,k,a,b,rez:longint;
    v,m:array[0..500001] of longint;
    buf:array[1..1 shl 17] of char;
begin
    assign(input,f);reset(input);
    assign(output,g);rewrite(output);
    settextbuf(input,buf);
    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.