Cod sursa(job #3276294)

Utilizator aadsafafdfAlexandru Spermezist aadsafafdf Data 13 februarie 2025 09:53:25
Problema Secventa 5 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#ifdef LOCAL
#include <bits/stdc++.h>
using namespace std;
ifstream fin("file.in");
ofstream fout("file.out");
#else
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
#endif

long long n,t,minn,k,inf=2e9+5;
long long v[2000005],l,u;


int panetone(int x)
{
    map<int,int>m;
    long long st=0,elem=0,ans=0;
    for(int dr=1;dr<=n;++dr)
    {
        m[v[dr]]++;
        if(m[v[dr]]==1)
        {
            elem++;
            while(x<elem)
            {
                st++;
                m[v[st]]--;
                if(m[v[st]]==0)elem--;

            }

        }
        ans+=dr-st;
    }
    return ans;
}





int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    fin>>n>>l>>u;
    for(int i=1;i<=n;++i)
    {
        fin>>v[i];
    }
    cout<<panetone(u)<<" "<<panetone(l-1);

    fout<<panetone(u)-panetone(l-1);


    return 0;
}