Pagini recente » Rating Horvay (balazsbalu) | Cod sursa (job #1015744) | Cod sursa (job #3124658) | Cod sursa (job #625419) | Cod sursa (job #1883459)
#include <bits/stdc++.h>
using namespace std;
int n, k, a, b;
int64_t solution;
vector <int> v, dp;
void read() {
ifstream fin("divk.in");
fin >> n >> k >> a >> b;
v.resize(n + 1); dp.resize(n + 1);
for (int i = 1; i <= n; ++i) {
fin >> v[i];
v[i] = (v[i] + v[i - 1]) % k;
if (i >= a) {
++dp[v[i - a]];
}
if (i > b) {
--dp[v[i - b - 1]];
}
solution += dp[v[i]];
}
fin.close();
}
void write() {
ofstream fout("divk.out");
fout << solution;
fout.close();
}
int main() {
read();
write();
return 0;
}