Cod sursa(job #2957517)

Utilizator lucriLuchian Cristian lucri Data 22 decembrie 2022 19:10:10
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
std::ifstream cin("secv5.in");
std::ofstream cout("secv5.out");
int n,u,l,v[1050000],f[1050000];
long long raspunde(long long a)
{
    long long ans=0;
    for(int i=1;i<=(1<<20);++i)
        f[i]=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)
        {
            --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];
    cout<<raspunde(l)-raspunde(u-1);
    return 0;
}