Cod sursa(job #613371)

Utilizator GrimpowRadu Andrei Grimpow Data 22 septembrie 2011 19:02:18
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<stdio.h>
#define N 524288

int n,a,b,k,x[N],w[N];
long long sum;

int main() {
	int i;
	freopen("divk.in","r",stdin);
	freopen("divk.out","w",stdout);
	scanf("%d%d%d%d",&n,&k,&a,&b);
	++b;
	for(i=1;i<=n;++i) {
		scanf("%d",&x[i]);
		x[i]=(x[i]+x[i-1])%k;
	}
	for(i=a;i<=n;++i){
        ++w[x[i-a]];
        if(i>=b)
            --w[x[i-b]];
        sum+=(long long)w[x[i]];
	}
	printf("%lld",sum);
	return 0;
}