Cod sursa(job #3227003)

Utilizator Andrei_RusuAndrei Alexandru Rusu Andrei_Rusu Data 23 aprilie 2024 22:10:37
Problema Divk Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
const int KMAX=100000;
int fr[KMAX+5];
vector<long long> v;
int main()
{
    int n, k, a, b, i, ans;
    fin >> n >> k >> a >> b;
    v.resize(n+5);
    v[0]=0;
    for(i=1; i<=n; ++i)
    {
        fin >> v[i];
        v[i]+=v[i-1];
    }
    ans=0;
    for(i=0; i<=n; ++i)
    {
        ans+=fr[v[i]%k];
        if(i-a+1>=0)
            ++fr[v[i-a+1]%k];
        if(i-b>=0)
            --fr[v[i-b]%k];
    }
    fout << ans;
    return 0;
}