Cod sursa(job #2957531)

Utilizator lucriLuchian Cristian lucri Data 22 decembrie 2022 19:19:40
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
std::ifstream cin("secv5.in");
std::ofstream cout("secv5.out");
std::unordered_map<int,int>f;
int n,u,l,v[1050000];
int raspunde(int a)
{
    f.clear();
    int ans=0;
    int b=1,ff=0;
    for(int e=1;e<=n;++e)
    {
        ++f[v[e]];
        if(f[v[e]]==1)
            ++ff;
        while(ff>a&&b<=e)
        {
            --f[v[b]];
            if(f[v[b++]]==0)
                --ff;
        }
        ans+=e-b+1;
    }
    return ans;
}
int main()
{
    cin>>n>>u>>l;
    for(int i=1;i<=n;++i)
        cin>>v[i];
    int z=raspunde(l),zz=raspunde(u-1);
    cout<<z-zz;
    return 0;
}