Cod sursa(job #3202767)

Utilizator Mihai09Mihai iubeste baietii Mihai09 Data 12 februarie 2024 11:28:59
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,k,a,b,x,s[500001],f[100001];
long long ans;

int main()
{
    fin >>n >>k >>a >>b;
    for(int i = 1;i <= n;i++)
    {
        fin >>x;
        s[i] = (s[i-1]+x)%k;
    }
    for(int i = 1;i  <= n;i++)
    {
        if(i >= a)
        {
            f[s[i-a]]++;
        }
        ans+=f[s[i]];
        if(i >= b)
        {
            f[s[i-b]]--;
        }
    }
    fout <<ans;
    return 0;
}