Cod sursa(job #1052210)

Utilizator UnforgivenMihai Catalin Botezatu Unforgiven Data 10 decembrie 2013 22:22:22
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <iostream>

const static int NMAX = 500001;
const static int KMAX = 100000;

using namespace std;

int sume[NMAX] , frecv[KMAX];
int N , K , A , B;
ifstream input("divk.in");
ofstream output("divk.out");

int main()
{
	input >> N >> K >> A >> B;
	int x;
	register int i , sol = 0;
	for (i = 1;i <= N ; i++)
	{
		input >> x;
		sume[i] = (sume[i-1] + x) % K;
	}
	for (i = 1;i <= N ; i++)
	{
		if (i > A)
			frecv[sume[i - A - 1]]++;
		if (i > B)
			frecv[sume[i - B - 1]]++;
		sol += frecv[sume[i]];
	}
	output << sol;
	input.close();
	output.close();

    return 0;
}