Cod sursa(job #1705869)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 21 mai 2016 01:01:31
Problema Divk Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <cstdio>
#define MAX 10000000
using namespace std;

int x,N,K,A,B,val=0,pos=0;
long long v[500005]={};
char f[MAX];
void r(int &nr)
{
    nr=0;
    while(f[pos]<'0'||f[pos]>'9')
        pos++;
    while(f[pos]>='0'&&f[pos]<='9')
        nr=nr*10+f[pos++]-'0';
}
void Read()
{
	fread(f,1,MAX,stdin);
	r(N);r(K);r(A);r(B);
	for(int i=1;i<=N;i++)
	{
		r(x);
		v[i]=x+v[i-1];
	}
}

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

	Read();
	for(int i=A;i<=B;i++)
		for(int j=1;j<=N-i+1;j++)
			if((v[j+i-1]-v[j-1])%K==0)
			{
				val++;
			}
	printf("%d",val);
	return 0;
}