Pagini recente » Cod sursa (job #2491154) | Cod sursa (job #1378203) | Cod sursa (job #2934351) | Cod sursa (job #1005432) | Cod sursa (job #1769695)
#include <cstdio>
int x, n, k, a, b, i, j;
long long s[500000];
long long sol, nra[500001], nrb[500001];
int main() {
FILE *f = fopen("divk.in", "r");
FILE *g = fopen("divk.out", "w");
fscanf(f, "%d %d %d %d\n", &n, &k, &a, &b);
for (i = 1; i <= n; i++) {
fscanf(f, "%d\n", &x);
s[i] = (s[i-1]+x)%k;
if (i >= a)
nra[s[i-a]]++;
if (i > b)
nrb[s[i-b-1]]++;
sol += nra[s[i]] - nrb[s[i]];
}
fprintf(g, "%d", sol);
return 0;
}