Cod sursa(job #3185791)

Utilizator Gullit_Ivan Matei Gullit_ Data 20 decembrie 2023 14:02:29
Problema Secventa 5 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <algorithm>
#include <unordered_map>

using namespace std;
int v[2000000];
int n;
long long cnt(int x)
{
    unordered_map<long long, int> f;
    long long i,j,nr,ans;
    i=j=nr=ans=0;
    while(j<n)
    {
        f[v[j]]++;
        if(f[v[j]]==1)
            nr++;
        j++;
        while(nr>x)
        {
            f[v[i]]--;
            if(f[v[i]]==0) nr--;
            i++;
        }
        ans+=j-i;
    }
    return ans;
}
int main()
{
    ifstream cin("secv5.in");
    ofstream cout("secv5.out");
    
    int  l, u, st=0,a;
    cin>>n>>l>>u;
    for(int i=0; i<n; i++)
    {
        cin>>v[i];
    }
    cout<<cnt(u)-cnt(l-1);

    return 0;
}