Cod sursa(job #2778675)

Utilizator etienAndrone Stefan etien Data 1 octombrie 2021 23:12:40
Problema Divk Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int f[500001],sum[500001];
int main()
{
    int n,a,b,i,x,k;
    long long s=0,nr=(ll)0;
    fin>>n>>k>>a>>b;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        s=s+x;
        s%=k;
        sum[i]=s;
    }
    for(i=a;i<=n;i++)
    {
        f[sum[i-a]]++;
        if(i>b)
            f[sum[i-b-1]]--;
        nr+=(ll)f[sum[i]];
    }
    fout<<nr;
}