Cod sursa(job #2321727)

Utilizator PopeangaMihneaPopeanga Mihnea- Stefan PopeangaMihnea Data 16 ianuarie 2019 16:06:12
Problema Secventa 5 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv5.in");
ofstream fout("secv5.out");

long long n, l, u;
long long x[(1<<20)+1];
unordered_map<long long, int>ap;

long long solve(int l)
{
    ap.clear();
    long long j=1, sol=0;
    for(int i=1; i<=n; ++i)
    {
        ++ap[x[i]];
        while(ap.size()>l)
        {
            --ap[x[j]];
            if(ap[x[j]]==0) ap.erase(x[j]);
            ++j;
        }
        sol=sol+i-j+1;
    }
    return sol;
}

int main()
{
    fin>>n>>l>>u;
    for(int i=1; i<=n; ++i) fin>>x[i];
    fout<<solve(u)-solve(l-1)<<"\n";
    return 0;
}