Cod sursa(job #903731)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 2 martie 2013 18:01:23
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in ("divk.in");
ofstream out ("divk.out");

int V[500010], Ap[500010];

int main()
{
    int N, K, A, B, i, x, Ans = 0;

    in >> N >> K >> A >> B;

    for (i = 1; i <= N; i ++){
        in >> x;

        V[i] = (V[i - 1] + x) % K;
    }

    for (i = 1; i <= N; i ++){
        if (i - A >= 0)
            ++ Ap[V[i - A]];

        if (i - B > 0)
            -- Ap[V[i - B - 1]];

        Ans += Ap[V[i]];
    }

    out << Ans;

    return 0;
}