Pagini recente » Cod sursa (job #2427686) | Cod sursa (job #1099610) | Cod sursa (job #502588) | Cod sursa (job #493411) | Cod sursa (job #1497601)
#include <stdio.h>
int v[500005], r[500005], sol;
int main (void) {
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
int n, k, a, b;
scanf("%d %d %d %d", &n, &k, &a, &b);
for (int i = 1; i <= n; ++i) {
int x;
scanf("%d", &x);
v[i] = (v[i - 1] + x) % k;
}
r[0] = 1;
for (int i = a; i <= n; ++i) {
sol += r[v[i]];
++r[v[i - a + 1]];
if (i >= b) --r[v[i - b]];
}
printf("%d", sol);
return 0;
}