Cod sursa(job #1072848)

Utilizator xaphariusMihai Suteu xapharius Data 4 ianuarie 2014 23:26:32
Problema Divk Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>
using namespace std;

#define NMAX 500001

int N, K, A, B;
int sum[NMAX], num[NMAX];

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

	scanf("%d%d%d%d", &N, &K, &A, &B);
	
	for(int i = 1; i <= N; ++i)
		scanf("%d", &num[i]);

	for(int i = 1; i <= N; ++i)
		sum[i] = sum[i-1] + num[i]; 	

	long long nrSubSecv = 0;
	for(int i = A; i <= N; ++i)
		for(int j = i - B; j <= i - A; ++j){
			if (j < 0) continue;
			if ((sum[i] - sum[j]) % K == 0)
				++nrSubSecv;
		}

	printf("%lld", nrSubSecv);

	fclose(stdin);
	fclose(stdout);
}