Pagini recente » Cod sursa (job #2464319) | Cod sursa (job #806374) | Cod sursa (job #2652906) | Cod sursa (job #2271901) | Cod sursa (job #2345199)
#include <bits/stdc++.h>
#define llg long long
#define MAXK 100005
#define MAXN 500005
llg N, K, A, B;
llg Rest[MAXK];
llg SP[MAXN];
std::ifstream In ("divk.in");
std::ofstream Out("divk.out");
void Citire() {
In >> N >> K >> A >> B;
}
void Rezolvare() {
llg Sum = 0, Ans = 0;
for (llg 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;
}