Cod sursa(job #669089)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 26 ianuarie 2012 08:31:34
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;

ifstream in("divk.in");
ofstream out("divk.out");

const int MAXN = 500010;

int s[MAXN],i,j,k,n,a,b,p;
long long nr;

int main() {
	in>>n>>k>>a>>b;
	for(i=1; i<=n; i++) {
		in>>p;
		s[i] = (p%k+s[i-1])%k;
	}
	for(i=1; i<=n; i++) {
		for(j=a-1; j<=b-1; j++)
			if(i-j<=0)
				break;
			else {
				if((s[i] - s[i-j-1])%k == 0)
					nr++;//, out<<i-j<<' '<<i<<"  ";
			}
	}
	//for(i=1; i<=n; i++)
	//	out<<s[i]<<' ';
	out<<nr;
}