Cod sursa(job #2981464)

Utilizator old_shatterhandAlexia-Irina old_shatterhand Data 18 februarie 2023 00:32:55
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
#define N 2000010
#define power 73
#define mod 66666013
#define oo 1e18
long long n,l,u,v[N];
unordered_map<long long, long long>f;
long long fa(long long dif)
{
    long long st=1,rez=0,acum=0,i;
    for(i=1;i<=n;i++)
    {
        f[v[i]]++;
        if(f[v[i]]==1)
            acum++;
        while(acum>dif&&st<=i)
        {
            f[v[st]]--;
            if(f[v[st]]==0)
                acum--;
            st++;
        }
        rez=rez+i-st+1;
    }
    return rez;
}
int main()
{long long i
    fin>>n>>l>>u;
    for(i=1;i<=n;i++)
        fin>>v[i];
    long long fin=fa(u);
    f.clear();
    fin=fin-fa(l-1);
    fout<<fin;
    return 0;
}