Cod sursa(job #3313166)

Utilizator mihaidavidgabrielDavid Mihai Gabriel mihaidavidgabriel Data 2 octombrie 2025 18:27:25
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv5.in");
ofstream fout("secv5.out");


long long subsecvente(const vector<int>& elemente ,int k)
    {
        int n=elemente.size();
        long long nrsecv=0;
        unordered_map<int, int> freq;
        int st=0, distincte=0;
        for(int dr=0;dr<n;dr++)
            {
                if(freq[elemente[dr]]==0)
                    distincte++;
                freq[elemente[dr]]++;
                while(distincte>=k)
                    {
                        freq[elemente[st]]--;
                        if(freq[elemente[st]]==0)
                            distincte--;
                        st++;
                    }
                nrsecv+=(dr-st+1);
            }
        return nrsecv;
    }


int main() {

    int n, l, u;
    fin >> n >> l >> u;

    vector<int> elemente(n);
    for (int i = 0; i < n; ++i)
        fin >> elemente[i];

    long long nrsecvL = subsecvente(elemente, l);
    long long nrsecvU = subsecvente(elemente, u+1);
    long long rez=nrsecvU - nrsecvL;
    fout << rez ;

    fin.close();
    fout.close();
    return 0;
}