Cod sursa(job #3278693)

Utilizator Andrada_MincaAndrada Minca Andrada_Minca Data 20 februarie 2025 16:07:22
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
//
//  main.cpp
//  secventa5
//
//  Created by Andrada Minca on 20.02.2025.
//

#include <bits/stdc++.h>
#include <map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n,x,y;
long long v[1050000];
long long nr(int maxx)
{
    long long ans=0;
    int l=1, cnt=0;
    unordered_map<int,int> f;
    for(int r=1; r<=n; r++)
    {
        f[v[r]]++;
        if(f[v[r]]==1)
        {
            cnt++;
            while(cnt>maxx)
            {
                f[v[l]]--;
                if(f[v[l]]==0)
                {
                    cnt--;
                }
                l++;
            }
        }
        ans+=r-l+1;
    }
    return ans;
}

int main()
{
    fin>>n>>x>>y;
    for(int i=1; i<=n; i++)
    {
        fin>>v[i];
    }
    fout<<nr(y)-nr(x-1);
    return 0;
}