Cod sursa(job #510264)

Utilizator Balmus_MaximBalmus Maximilian Balmus_Maxim Data 12 decembrie 2010 12:17:07
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.39 kb
#include <stdio.h>

int a,b,n,k,v[500001],i,m[500001];
long long rez;


int main()
{
	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]);
		v[i]+=v[i-1];
		v[i]%=k;
	}
	m[0]=1;
	for(i=a;i<=n;i++){
		rez+=m[v[i]];
		m[v[i-a+1]]++;
		if(i>=b){
			m[v[i-b]]--;
		}
	}
	printf("%lld",rez);
}