Cod sursa(job #2890459)

Utilizator avethegamerAveTheGamer avethegamer Data 15 aprilie 2022 17:11:28
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb

#include <bits/stdc++.h>
using namespace std;

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

int nrSecv(int D, vector<unsigned int> v){
    unordered_map<unsigned int, int> map;
    int j = 0, nr = 0;
    for (int i=0;i<v.size();i++)
    {
        map[v[i]]++;
        while(map.size()>D){
            map[v[j]]--;
            if(map[v[j]]==0){
                map.erase(map.find(v[j]));
            }
            j++;
        }
        nr+=(i-j+1);
    }
    return nr;
}

int main() {
    int L, U, N;
    in >> N >> L >> U;
    int curent;
    int same = 0, distinct = 0, sol = 0;
    vector<unsigned int> inc;
    for (int i = 0; i < N; ++i) {
        in >> curent;
        inc.push_back(curent);
    }
    out << nrSecv(U,inc) - nrSecv(L-1,inc);
    return 0;
}