Pagini recente » Cod sursa (job #1987426) | Cod sursa (job #3159502) | Cod sursa (job #1213423) | Cod sursa (job #346761) | Cod sursa (job #1335018)
#include <cstdio>
#include <vector>
using namespace std;
int s[500005], f[500005];
int main() {
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
int n, k, a, b, sol = 0, x, aux;
scanf("%d%d%d%d", &n, &k, &a, &b);
for(int i = 1; i <= n; ++ i) {
scanf("%d", &x);
s[i] = (s[i - 1] + x) % k;
}
++ f[0];
for(int i = a; i <= n; ++ i) {
sol += f[s[i]];
++ f[s[i - a + 1]];
if(i - b >= 0)
-- f[i - b];
}
printf("%d\n", sol);
return 0;
}