Cod sursa(job #1565715)

Utilizator pop_bogdanBogdan Pop pop_bogdan Data 11 ianuarie 2016 11:07:02
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
using namespace std;

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

long long N, K, A, B, S[500001], ceva[100001];

void Input();

int main()
{
    Input();

    long long sol = 0, a = -B, b = 0;
    for (int i = A; i <= N; ++i, ++a, ++b)
    {
        ceva[S[b]]++;
        if (a >= 0)
            ceva[S[a]]--;
        sol += ceva[S[i]];
    }
    os << sol;
    is.close();
    os.close();
}

void Input()
{
    is >> N >> K >> A >> B;
    for (int i = 1, x; i <= N; ++i)
    {
        is >> x;
        S[i] = (S[i-1] + x) % K;
    }
}