Pagini recente » Cod sursa (job #1150827) | Cod sursa (job #2077479) | Istoria paginii runda/runda1/clasament | Cod sursa (job #941815) | Cod sursa (job #1769688)
#include <cstdio>
int x[500000], n, k, a, b, i, j;
int s[500000];
unsigned long long sol, nra[500000], nrb[500000];
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[i]);
s[i] = (s[i-1]+x[i])%k;
if (i >= a)
nra[s[i-a]]++;
if (i >= b+1)
nra[s[i-b-1]]--;
sol += 1LL*nra[s[i]];
}
fprintf(g, "%d", sol);
return 0;
}