Cod sursa(job #1728534)

Utilizator tanasaradutanasaradu tanasaradu Data 13 iulie 2016 04:13:18
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n,k,a,b,x;
long long s[500005],v[500005],sol;
int main()
{
    int i;
    fin>>n>>k>>a>>b;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        v[i]=(v[i-1]+x)%k;
        if(i>=a)
            s[v[i-a]]++;
        if(i>b)
            s[v[i-b-1]]--;
        sol+=1LL*s[v[i]];
    }
    fout<<sol<<"\n";
}