Cod sursa(job #2219935)

Utilizator 12222Fendt 1000 Vario 12222 Data 10 iulie 2018 00:34:38
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

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

const int nmax=(1<<20)+2;

int l,u,n,a[nmax];
unordered_map<long long,int>m;

long long nr_secv(unsigned int lg)
{
    int i,j;
    long long nrsol;


    i=1;nrsol=0;
    for(j=1;j<=n;j++)
    {
        m[a[j]]++;
        while(m.size()>lg)
        {
            m[a[i]]--;
            if(m[a[i]]==0)m.erase(a[i]);
            i++;
        }
        nrsol+=(j-i+1);
    }
    return nrsol;
}

int main()
{
    fin>>n>>l>>u;

    for(int i=1;i<=n;i++)
        fin>>a[i];

    int L,U;
    L=nr_secv(l-1);
    m.clear();
    U=nr_secv(u);

    fout<<U-L<<"\n";
    return 0;
}