Pagini recente » Cod sursa (job #1278453) | Cod sursa (job #3178319) | Cod sursa (job #1769152) | Cod sursa (job #512427) | Cod sursa (job #1097532)
#include <cstdio>
#define Nmax 500005
using namespace std;
int N,v[Nmax],r[Nmax],t[100005];
int main()
{
long long sol;
int i,x,A,B,K;
freopen ("divk.in","r",stdin);
freopen ("divk.out","w",stdout);
scanf("%d%d%d%d", &N,&K,&A,&B);
for(i=1;i<=N;++i)
{
scanf("%d", &x);
r[i]=(r[i-1]+x)%K;
}
sol=0; ++t[0];
for(i=A;i<=N;++i)
{
sol+=t[r[i]];
if(i-B>=0)
--t[r[i-B]];
++t[r[i-A+1]];
}
printf("%lld\n", sol);
return 0;
}