Cod sursa(job #2371854)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 6 martie 2019 19:56:03
Problema Secventa 5 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb

#include <bits/stdc++.h>

using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
unsigned int n,l,u,a[1048581];
long long solve(unsigned int k)
{
    unordered_map<unsigned int,int>m;

    long long j=1,ans=0,i;
    for(i=1;i<=n;i++)
    {
        m[a[i]]++;
        while(m.size()>k)
        {
            m[a[j]]--;
            if(m[a[j]]==0) m.erase(a[j]);
            j++;
        }
        ans+=i-j+1;
    }
    return ans;
}
int main()
{
    in>>n>>l>>u;
    for(int i=1;i<=n;i++) in>>a[i];
    out<<solve(u)-solve(l-1);
    return 0;
}