Pagini recente » Borderou de evaluare (job #2819771) | vacanta_10_1 | Borderou de evaluare (job #991230) | Borderou de evaluare (job #2017911) | Cod sursa (job #3233781)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int countDivisibleSubsequences(const vector<int>& arr, int A, int B, int K) {
int n = arr.size();
int count = 0;
for (int i = 0; i < n; ++i) {
int sum = 0;
for (int j = i; j < n && j < i + B; ++j) {
sum += arr[j];
int length = j - i + 1;
if (length >= A && length <= B && sum % K == 0) {
++count;
}
}
}
return count;
}
int main() {
ifstream infile("divk.in");
ofstream outfile("divk.out");
int N, K, A, B;
infile >> N >> K >> A >> B;
vector<int> v(N);
for (int i = 0; i < N; ++i) {
infile >> v[i];
}
int result = countDivisibleSubsequences(v, A, B, K);
outfile << result << endl;
infile.close();
outfile.close();
return 0;
}