Cod sursa(job #1690490)

Utilizator matericristea88Cristea-Enache Matei matericristea88 Data 15 aprilie 2016 10:08:15
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <cstdio>
using namespace std;
int v[500005];
int f[500005];
int main()
{
    freopen("divk.in", "r", stdin);
    freopen("divk.out", "w", stdout);
    int n,a,b,k,x;
    long long s=0;
    scanf("%d%d%d%d",&n,&k,&a,&b);
    for( int i=1; i<=n; i++){
        scanf("%d", &x);
        v[i] =(v[i-1]+x)%k;
        if(i>= a)
            f[v[i-a]]++;
        if(i>b)
            f[v[i-b-1]]--;
        s=s+f[v[i]];

    }
    printf("%lld",s);
    return 0;
}