Cod sursa(job #312142)

Utilizator RockManIzsak Istvan RockMan Data 5 mai 2009 10:44:55
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>

int main()
{
	freopen("divk.in","r",stdin);
	freopen("divk.out","w",stdout);

	long el[500001],nr=0;
	int a,b,k,n,i,j,sum=0;

	scanf("%d%d%d%d",&n,&k,&a,&b);
	
	for(i=1;i<=n;i++)
	{
		scanf("%ld",el+i);
		el[i]%=k;
	}

	for(i=1;i<=n-a+1;i++)
	{
		sum=el[i];
		if(!sum&&a==1) nr++;
		for(j=i+1;j<=i+b-1&&j<=n;j++)
		{
			sum = (sum + el[j]) % k;
			if(!sum&&j-i+1>=a) nr ++;
		}
	}

	printf("%ld",nr);

	fclose(stdin);
	fclose(stdout);

	return 0;
}