Cod sursa(job #2578951)

Utilizator sipdavSipos David Oliver sipdav Data 11 martie 2020 19:14:23
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>

using namespace std;

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

const int dim = 500001;

long long n, k, a, b, s[dim], f[dim], sol, x;

int main()
{
    in>>n>>k>>a>>b;
    for(int i = 1; i <= n; i++)
    {
        in>>x;
        s[i] = (s[i - 1] + x) % k;
    }

    for(int i = 1; i <= n; i++)
    {
        if(i - a >= 0)
            f[s[i - a]]++;
        if(i - b > 0)
            f[s[i - b - 1]]--;
        sol += f[s[i]];
    }

    out<<sol;
    return 0;
}