Cod sursa(job #658350)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 8 ianuarie 2012 17:30:40
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<cstdio>
using namespace std;

int v[500001], mod[500001], nr;

int main(){
	freopen("divk.in", "r", stdin), freopen("divk.out", "w", stdout);
	int N, K, A, B, i, lng;
	scanf("%d %d %d %d", &N, &K, &A, &B);
	
	for (i = 1; i <= N; i++){
		scanf("%d", &v[i]);
		mod[i] = (mod[i-1] + v[i]) % K;
	}
	
	for (lng = A; lng <= B; lng++)
		for (i = lng; i <= N; i++)
			if (mod[i] == mod[i - lng]) nr++;

	printf("%d", nr);
	return 0;
}