Cod sursa(job #794004)

Utilizator bia.liliPoenar Liana bia.lili Data 4 octombrie 2012 22:29:33
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;

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

#define Nmax 500011

long N,K,A,B;
long R[Nmax];
long sol;
long Fr[Nmax];

int main()
{
	F>>N>>K>>A>>B;
	
	for (long i=1;i<=N;++i)
		F>>R[i],R[i]=(R[i]+R[i-1])%K;
	
    for (long i = A; i <= N; ++i) 
	{
        ++Fr[ R[i - A] ];
        if (i > B)
            --Fr[ R[i - B - 1]];
        sol += Fr[ R[i] ];
    }
	
	G<<sol<<'\n';
	
	F.close();
	G.close();
	return 0;
}