Pagini recente » Cod sursa (job #1745053) | Istoria paginii runda/376 | Cod sursa (job #1064175) | Cod sursa (job #1112559) | Cod sursa (job #1497617)
#include <stdio.h>
#include <iostream>
using namespace std;
int main (void) {
ios_base::sync_with_stdio(false);
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
int v[500005], r[500005], n, k, a, b, x;
long long sol;
cin >> n >> k >> a >> b;
r[0] = 1;
for (int i = 1; i <= n; ++i) {
cin >> 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("%lld", sol);
return 0;
}