Cod sursa(job #2690788)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 25 decembrie 2020 18:47:58
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
const int NMAX = 500005;
const int KMAX = 100005;
long long s[NMAX];
long long f[KMAX];
int main()
{
    long long n,k,A,B,x,r=0,i;
    fin >> n >> k >> A >> B;
    for(i=1;i<=n;i++)
    {
        fin >> x;
        s[i]=s[i-1]+x;
        s[i]%=k;
    }
    for(i=1;i<=n;i++)
    {
        if(i>=A)
         f[s[i-A]]++;
        if(i>B)
          f[s[i-B-1]]--;
        r+=f[s[i]];
    }
    fout << r;
    return 0;
}