Pagini recente » Cod sursa (job #876113) | Cod sursa (job #324320) | Cod sursa (job #2953832) | Cod sursa (job #2444260) | Cod sursa (job #1335021)
#include <cstdio>
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, x, aux;
long long sol = 0;
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[s[i - b]];
}
printf("%lld\n", sol);
return 0;
}