Cod sursa(job #2214824)

Utilizator IulianOleniucIulian Oleniuc IulianOleniuc Data 20 iunie 2018 11:00:22
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#define VMAX 500010

std::ifstream fin("divk.in");
std::ofstream fout("divk.out");

int n, k, a, b, sol;
int dp[VMAX];

int main() {
    int val;

    fin >> n >> k >> a >> b;
    for (int i = 1; i <= n; i++) {
        fin >> val;
        dp[i] = (dp[i - 1] + val) % k;

        if (i - b < 0)
            continue;

        int hi = i - a > 0 ? i - a : 0;
        int lo = i - b;

        for (int j = lo; j <= hi; j++)
            if (dp[j] == dp[i])
                sol++;
    }

    fout << sol << '\n';
    fout.close();
    return 0;
}