Cod sursa(job #196024)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 23 iunie 2008 23:29:15
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.38 kb
#include<stdio.h>
#define NMAX 500001

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