Cod sursa(job #2049984)

Utilizator radu.leonardoThe Doctor radu.leonardo Data 27 octombrie 2017 21:28:58
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");

int N, K, A, B;
int SumRem[500001];
int Count[500001];
long long Ans = 0;

int main() {
    f >> N >> K >> A >> B;
    for (int i = 1; i <= N; i++) {
        f >> SumRem[i];
        SumRem[i] += SumRem[i - 1];
        SumRem[i] %= K;

        if (A <= i)
            Count[SumRem[i - A]]++;

        if (B < i)
            Count[SumRem[i - B - 1]]--;

        Ans += Count[SumRem[i]]; }
    g << Ans; }