Pagini recente » Cod sursa (job #2203886) | Cod sursa (job #1693600) | Cod sursa (job #2332212) | Cod sursa (job #2741389) | Cod sursa (job #73879)
Cod sursa(job #73879)
#include<stdio.h>
int ind , i, j, cit, d[500005], a, b, k, n, s, v[500005], x, el;
long long nrs;
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d%d%d%d", &n, &k, &a, &b);
ind = 1;
for (i=1; i<=n; i++)
scanf("%d", &v[i]);
for (i=1; i<=b; i++){
s += v[i] % k;
if (i >= a){
if (s % k == 0)
nrs ++;
d[++d[0]] = s % k;
}
}
for (i=a+1; i<=n; i++){
el = i-a;
for (j=1; j<=d[0] && el+a+j-1 <= n; j++){
x = (d[j]+v[el+a+j-1]%k-v[el]%k) % k;
if (x < 0)
x = 5+x;
d[j] = x;
if (d[j] == 0)
nrs ++;
}
}
printf("%lld\n", nrs);
fclose(stdin);
fclose(stdout);
return 0;
}