Cod sursa(job #768106)

Utilizator bratualexBratu Alexandru bratualex Data 15 iulie 2012 23:28:00
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
# include <fstream>
# define DIM 500003
using namespace std;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
int n,a,b,nrrk[DIM],k,r[DIM];
long long rez;
int main()
{
    int i;
	long long x;
	fin>>n>>k>>a>>b;
	for( i=1;i<=n;++i)
	{
		fin>>x;
		r[i]=(r[i-1]+x)%k;
	}
	++b;
	for(i=a;i<=n;i++)
	{
	    ++nrrk[r[i-a]];
	    if (i>=b)
            --nrrk[r[i-b]];
        rez+=nrrk[r[i]];
	}
	fout<<rez;
    return 0;
}