Pagini recente » Cod sursa (job #1076925) | Cod sursa (job #1750696) | Cod sursa (job #1719295) | Cod sursa (job #373376) | Cod sursa (job #2892068)
#include <fstream>
const int MAX_N = 5 * 1e5;
const int MAX_K = 1e5;
long long sp[1 + MAX_N], freq[1 + MAX_K];
int main() {
std::ifstream fin("divk.in");
std::ofstream fout("divk.out");
int n, k, a, b;
fin >> n >> k >> a >> b;
for (int i = 1; i <= n; i++) {
fin >> sp[i];
sp[i] += sp[i - 1];
sp[i] %= k;
}
long long answer = 0;
for (int i = a; i <= n; i++) {
freq[sp[i - a]]++;
if (i > b) {
freq[sp[i - b - 1]]--;
}
answer += freq[sp[i]];
}
fout << answer;
return 0;
}