Cod sursa(job #3325739)

Utilizator estedinvinaluimitucaMarcu Alexandru Novac estedinvinaluimituca Data 26 noiembrie 2025 11:13:31
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<bits/stdc++.h>
using namespace std;

int n,x,y;
unsigned int v[1<<20];

long long f(int x){
    long long cnt=0;
    int dist=0;
    unordered_map<unsigned int,int>frecv;
    int l=1;
    for(int r=1;r<=n;r++){
       frecv[v[r]]++;
       if(frecv[v[r]]==1)dist++;
       while(l<=r&&dist>x){
            frecv[v[l]]--;
            if(frecv[v[l]]==0)dist--;
            l++;
       }
       cnt+=r-l+1;
    }
    return cnt;
}

int main(){
    ifstream cin("secv5.in");
    ofstream cout("secv5.out");
    cin>>n>>x>>y;
    for(int i=1;i<=n;i++){
        cin>>v[i];
    }
    long long nr=f(y)-f(x-1);
    cout<<nr;
    return 0;
}