Cod sursa(job #783133)

Utilizator marinMari n marin Data 2 septembrie 2012 12:11:10
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <fstream>

using namespace std;
#define DIM 500010

int S[DIM];
int T[DIM];

int N, K, A, B, V, i, sol;

int main() {
	ifstream f("divk.in");
	ofstream g("divk.out");

	
	f>>N>>K>>A>>B;
	for (i=1;i<=N;i++) {
		f>>V;
		S[i] = (V + S[i-1]) % K;
	}
	
	for (i=1;i<=N;i++) {
	
		if (i >= A) {
			sol += T[S[i]];
		}
		if (i-B+1 >= 1)
			T[S[i-B+1]]--;
		if (i-A+2 >= 1)
			T[S[i-A+2]]++;
		
	}
	
	g<<sol;
	
	return 0;
}