Cod sursa(job #2586801)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 21 martie 2020 15:58:34
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 NMAX = 500005;
const int KMAX = 100005;
int sump[NMAX],fr[KMAX];

int main()
{
    int n,k,A,B,x;
    fin >> n >> k >> A >> B;
    for(int i=1;i<=n;i++){
        fin >> x;
        sump[i]=sump[i-1]+x;
        sump[i]%=k;
    }
    int rasp=0;
    for(int i=1;i<=n;i++)
    {
        if(i>=A) fr[sump[i-A]]++;
        if(i>B)  fr[sump[i-B-1]]--;
        rasp+=fr[sump[i]];
    }
    fout << rasp;
    return 0;
}
/// (0) 2 1 1 0 1 0