Pagini recente » Cod sursa (job #2018215) | Monitorul de evaluare | Borderou de evaluare (job #2680623) | Cod sursa (job #1201282) | Cod sursa (job #3202824)
#include <fstream>
using namespace std;
ifstream fin ("divk.in");
ofstream fout("divk.out");
int n,i,S[500003],k,x,a,b,D[500003];
long long sol;
int main()
{
fin>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
fin>>x;
S[i]=(S[i-1]+x)%k;
}
for(i=1;i<=n;i++)
{
if(i>=a)
D[S[i-a]]++;
sol+=D[S[i]];
if(i>=b)
D[S[i-b]]--;
}
fout<<sol;
return 0;
}
/*
0 2 1 1 0 1 0
*/