Pagini recente » Istoria paginii utilizator/al3xand3r97 | Cod sursa (job #1771046) | Cod sursa (job #1856184) | Atasamentele paginii Clasament roz | Cod sursa (job #1497607)
#include <stdio.h>
int v[500005], sol;
int main (void) {
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
int n, k, a, b, x;
scanf("%d %d %d %d", &n, &k, &a, &b);
int r[500005] = {1};
for (int i = 1; i <= n; ++i) {
scanf("%d", &x);
v[i] = (v[i - 1] + x) % k;
}
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;
}