Pagini recente » Cod sursa (job #905511) | Cod sursa (job #850454) | Cod sursa (job #1691810) | Cod sursa (job #1200) | Cod sursa (job #3233342)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
int countSubsequences(const vector<int>& arr, int L, int U) {
int n = arr.size();
int count = 0;
for (int left = 0; left < n; ++left) {
unordered_map<int, int> freq;
int distinct_count = 0;
for (int right = left; right < n; ++right) {
if (freq[arr[right]] == 0) {
distinct_count++;
}
freq[arr[right]]++;
if (distinct_count >= L && distinct_count <= U) {
count++;
} else if (distinct_count > U) {
break;
}
}
}
return count;
}
int main() {
ifstream infile("secv5.in");
ofstream outfile("secv5.out");
int N, L, U;
infile >> N >> L >> U;
vector<int> arr(N);
for (int i = 0; i < N; ++i) {
infile >> arr[i];
}
int result = countSubsequences(arr, L, U);
outfile << result << endl;
infile.close();
outfile.close();
return 0;
}