Cod sursa(job #3185786)

Utilizator Stefaniaaa12345Stefania Stefaniaaa12345 Data 20 decembrie 2023 13:54:48
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <unordered_map>

using namespace std;

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

long long v[1<<20];
int n;

long long catesecv(int x){
    int r,l,nr=0;
    long long rasp;
    unordered_map<long long,int>frecv;
    rasp=r=l=0;
    while(r<n){
        frecv[v[r]]++;
        if(frecv[v[r]]==1)
            nr++;
        r++;
        while(nr>x){
            frecv[v[l]]--;
            if(frecv[v[l]]==0)
                nr--;
            l++;
        }
        rasp=rasp+r-l;
    }
    return rasp;
}

int main()
{
    int i,ll,uu;
    cin>>n>>ll>>uu;
    for(i=0;i<n;i++)
        cin>>v[i];
    cout<<catesecv(uu)-catesecv(ll-1);
    return 0;
}