Pagini recente » Cod sursa (job #3291699) | Cod sursa (job #1538381) | Cod sursa (job #805027) | Cod sursa (job #2406678) | Cod sursa (job #1721216)
#include <bits/stdc++.h>
using namespace std;
typedef long long i64;
i64 f[500005],
s[500005];
int main(void) {
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
int n, k, a, b, t;
i64 ant;
scanf("%d%d%d%d",&n,&k,&a,&b);
ant = 0;
for(int i=1; i<=n; ++i){
scanf("%d",&t);
s[i]=(s[i-1]+t)%k;
if(i>b)
++f[s[i-b-1]];
if(i>=a)
++f[s[i-a]];
ant+=(1LL*f[s[i]]);
}
printf("%lld\n",ant);
fclose(stdin);
fclose(stdout);
return 0;
}