Cod sursa(job #3233341)

Utilizator MirceaDonciuLicentaLicenta Mircea Donciu MirceaDonciuLicenta Data 2 iunie 2024 23:47:14
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
#include <unordered_set>

using namespace std;

int countSubsequences(const vector<int>& arr, int L, int U) {
    int n = arr.size();
    int count = 0;

    for (int start = 0; start < n; ++start) {
        unordered_set<int> distinct_elements;
        for (int end = start; end < n; ++end) {
            distinct_elements.insert(arr[end]);
            int distinct_count = distinct_elements.size();
            if (distinct_count >= L && distinct_count <= U) {
                count++;
            }
            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;
}