Cod sursa(job #2540202)

Utilizator pregoliStana Andrei pregoli Data 6 februarie 2020 20:42:24
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
#define newline '\n'
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
///************************

const int NMAX = 5e5 + 5;
uint64_t n, k, a, b, v[NMAX], fr[NMAX], ans;

int main()
{
    fin >> n >> k >> a >> b;
    for (int i = 1; i <= n; i++)
    {
        fin >> v[i];
        v[i] = (v[i - 1] + v[i]) % k;
        if (i >= a)
            fr[v[i - a]]++;
        if (i > b)
            fr[v[i - b - 1]]--;
        ans += fr[v[i]];
    }

    fout << ans ;
    fout.close();
    return 0;
}