Cod sursa(job #715939)

Utilizator harababurelPuscas Sergiu harababurel Data 17 martie 2012 23:14:17
Problema Divk Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[500005], s[500005];
int main() {
	//ifstream f("divk.in");
	freopen("divk.in","r",stdin);
	ofstream g("divk.out");
	int n, a, b, k, i, j, rez=0;
	
	//f>>n>>k>>a>>b;
	scanf("%d%d%d%d",&n,&k,&a,&b);
	for(i=1; i<=n; i++) { scanf("%d",&v[i]); s[i]=s[i-1]+v[i]; }
	
	j=n;
	while(j>=1) {
		i=j;
		while(j-i+1 <a) i--; //trebuie sa ating lungimea minima, si de acolo cobor
		while((j-i+1)<=b && i>0) {
			if((s[j]-s[i-1])%k==0) {
				//for(int q=i; q<=j; q++) g<<v[q]<<" "; g<<"\n";
				rez++;
			}
			i--;
		}
		j--;
	}
	
	g<<rez;
			
	
//	f.close();
	g.close();
	return 0;
}