Cod sursa(job #660910)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 13 ianuarie 2012 14:37:21
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream>
#include<iostream>
#include<cstdio>
using namespace std;
int v[500001];
long long s[500001],c;
int main ()
{
	int v[500001],k,n,a,b,i,j;
	freopen("divk.in", "r", stdin);
	freopen("divk.out", "w", stdout);
	scanf("%d %d %d %d", &n, &k, &a, &b);
	for(i=1;i<=n;i++) 
		scanf("%d", &v[i]);
	for(i=1;i<=n;i++)
		s[i]=s[i-1]+v[i];
	j=1;
	for(i=a;j<=n-a+1;i++) {
		if((i-j+1)>b) {
			j++;
			i=j+a-1;
		}
		if((i<=n)&&((s[i]-s[j-1])%k==0))
			c++;
	}
	printf("%lld", c);
	return 0;
}