Cod sursa(job #3185788)

Utilizator Iustin_Mircea2010Iustin Mircea Iustin_Mircea2010 Data 20 decembrie 2023 13:56:38
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
long long v[2000000];
int n;
long long secvnr( int x ){
    long long i = 0, j = 0, ans = 0, nr = 0;
    unordered_map <long long, int> frecv;
    while(j<n){
        frecv[v[j]]++;
        if( frecv[v[j]] == 1){
            nr++;
        }
        j++;
        while( nr > x ){
            frecv[v[i]]--;
            if(frecv[v[i]] == 0){
                nr--;
            }
            i++;
        }
        ans+=j-i;
    }
    return ans;
}
int main()
{
    int l, u;
    cin>>n>>l>>u;
    for(int i=0; i<n; i++){
        cin>>v[i];
    }
    cout << secvnr(u) - secvnr(l-1);
    return 0;
}