Cod sursa(job #2123403)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 6 februarie 2018 10:45:21
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n, k, a, b, r[100002];
unsigned long long sp[100002];
unsigned int t;
int main()
{
    int i, x;
    fin>>n>>k>>a>>b;
    for(i=1; i<=n; i++)
    {
        fin>>x;
        sp[i]=sp[i-1]+(unsigned long long)x;
        if(i-a>=0) r[sp[i-a]%k]++;
        if(i-b-1>=0) r[sp[i-b-1]%k]--;
        if(i-a>=0) t+=r[sp[i]%k];
    }
    fout<<t<<'\n';
    return 0;
}