Pagini recente » Cod sursa (job #345479) | Cod sursa (job #1896309) | Cod sursa (job #250871) | Cod sursa (job #28765) | Cod sursa (job #2345198)
#include <bits/stdc++.h>
#define MAXK 100005
#define MAXN 500005
int N, K, A, B;
int Rest[MAXK];
int SP[MAXN];
std::ifstream In ("divk.in");
std::ofstream Out("divk.out");
void Citire() {
In >> N >> K >> A >> B;
}
void Rezolvare() {
int Sum = 0, Ans = 0;
for (int i=1, X; i<=N; ++i) {
In >> X;
SP[i] = (SP[i-1] + X) % K;
if (i>=A)
Rest[SP[i-A]]++;
if (i>=B+1)
Rest[SP[i-B-1]]--;
Ans += Rest[SP[i]];
} Out << Ans << '\n';
}
int main()
{
Citire();
Rezolvare();
return 0;
}