Cod sursa(job #93481)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 18 octombrie 2007 21:05:37
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
int main(){
	int v[500000],n,k,a,b,i,z,x,y=0,s,ss=0;
	freopen("divk.in","r",stdin);
	freopen("divk.out","w",stdout);
	scanf("%d%d%d%d",&n,&k,&a,&b);
	for (i=0;i<n;++i)
		scanf("%d",&v[i]);
	for (i=0;i<a;++i)
			ss=(ss+v[i])%k;
	for (z=a-1;z<b;++z){
		s=0;x=0;ss+=v[z];s=ss;
		if (s%k==0)
			++x;
		for (i=z+1;i<n;++i){
			s=(s-v[i+1-z])%k;
			s=(s+v[i+1])%k;
			if (s==0)
				++x;
		}
		y+=x;
	}
	printf("%d\n",y);
	return 0;
}