Cod sursa(job #594563)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 8 iunie 2011 13:00:37
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;
}