Cod sursa(job #3318192)

Utilizator Floroiu_MariusFloroiu Marius Cristian Floroiu_Marius Data 27 octombrie 2025 14:35:46
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n,l,u;
unsigned int v[(1<<20)+3];
unordered_map<unsigned int,int> mapa;
long long nr_secv(int k)
{
    int st=1;
    long long cnt=0;
    for (int i=1;i<=n;i++)
    {
        mapa[v[i]]++;
        while (mapa.size()>k)
        {
            mapa[v[st]]--;
            if (mapa[v[st]]==0) mapa.erase(v[st]);
            st++;
        }
        cnt=cnt+(i-st+1);
    }
    return cnt;
}
int main()
{
    fin>>n>>l>>u;
    for (int i=1;i<=n;i++)
        fin>>v[i];
    long long nr1=nr_secv(l-1);
    mapa.clear();
    long long nr2=nr_secv(u);
    fout<<nr2-nr1;
    return 0;
}