Pagini recente » Cod sursa (job #269778) | Cod sursa (job #1137292) | Cod sursa (job #319408) | Cod sursa (job #1874923) | Cod sursa (job #1721217)
#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;
}