Cod sursa(job #729129)

Utilizator swim406Teudan Adina swim406 Data 29 martie 2012 11:54:59
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
using namespace std;
int A,B,N,K,v[500001];
long long nrsol=0;
int sum_div(int x, int y) {
	int i,sum=0;
	for(i=x;i<=y;i++) {
		sum = (sum+v[i]) %K;
	}
	if(sum==0) return 1;
	else return 0;
}
int main() {
	freopen("divk.in","r",stdin);
	freopen("divk.out","w",stdout);
	scanf("%d %d %d %d",&N,&K,&A,&B);
	int i,j;
	for(i=1;i<=N;i++) {
		scanf("%d",&v[i]);
		v[i]=v[i]%K;
	}
	for(i=1;i<=N-A+1;i++)
		for(j=A;j<=B&&i+j-1<=N;j++) 
			if(sum_div(i,i+j-1))
				nrsol++;
	printf("%lld",nrsol);
	return 0;
}