Cod sursa(job #2816595)

Utilizator David8406Marian David David8406 Data 11 decembrie 2021 18:06:59
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <bits/stdc++.h>

using namespace std;
int n,v[500005],F[100005],sum[500005],k,a,b;
long long rez;
ifstream fin("divk.in");
ofstream fout("divk.out");
int main()
{
    fin>>n>>k>>a>>b;
    for (int i=1;i<=n;i++)  fin>>v[i];
    for (int i=1;i<=n;i++)
        sum[i]=(sum[i-1]+v[i])%k;
    for (int dr=1;dr<=n;dr++)
    {
        if (dr-a>=0)
        F[sum[dr-a]]++;
        if (dr-b-1>=0)
        F[sum[dr-b-1]]--;
        rez+=F[sum[dr]];
    }
    fout<<rez;
}