Pagini recente » Cod sursa (job #1578885) | Cod sursa (job #212939) | Cod sursa (job #2706731) | Cod sursa (job #476819) | Cod sursa (job #1460868)
//divk
#include<bits/stdc++.h>
#define debug cerr<<"ok";
#define MAXN 500010
using namespace std;
int n,k,a,b,i,j,S[MAXN],cnt[MAXN/5];
int main ()
{
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",&S[i]), S[i]= (S[i]+S[i-1])%k;
int64_t rez=0;
for(i=a;i<=n;i++){
cnt[S[i-a]]++;
if (i>b)
cnt[S[i-b-1]]--;
rez+=cnt[S[i]];
}
printf("%lld",rez);
return 0;
}