Pagini recente » Cod sursa (job #2976383) | Cod sursa (job #1529273) | Cod sursa (job #1667763) | Cod sursa (job #2869230) | Cod sursa (job #1131929)
#include <cstdio>
#include <vector>
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int main(int argc, char *argv[]) {
int k, a, b, n;
vector<int> v;
fin >> n >> k >> a >> b;
for (int i = 0; i < n; ++i) {
int t;
fin >> t;
v.push_back(t);
}
int s = 0, e = 0, c = 0, sum = 0;
while(1) {
do {
sum += v[e];
++e;
if ((e - s >= a) && (sum % k == 0)) {
++c;
}
} while (e - s <= b && e < (int) v.size());
do {
sum -= v[s];
s++;
if (sum % k == 0) {
++c;
}
} while (e - s >= a);
if (e >= (int) v.size()) {
break;
}
}
fout << c << endl;
fout.close();
return 0;
}