Cod sursa(job #3270457)

Utilizator slol003Rizea Alexandru-Gabriel slol003 Data 23 ianuarie 2025 14:55:33
Problema Secventa 5 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,q,l,u;
int v[1000001];
int cnt(int x){
    int i, j, nr;
    unordered_map<int, int> frecv;
    int ans;
    i=j=nr=ans=0;
    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;
}
signed main()
{
    ifstream cin("secv5.in");
    ofstream cout("secv5.out");
    cin>>n>>l>>u;
    for(int i=1;i<=n;i++)
        {cin>>v[i];
        }
    cout << cnt(u) - cnt(l - 1);

    return 0;
}