Cod sursa(job #2450510)

Utilizator petrisorvmyVamanu Petru Gabriel petrisorvmy Data 23 august 2019 16:06:38
Problema Secventa 5 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <unordered_map>
#define ll unsigned int

using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");

unordered_map <ll,ll> hs;
ll n, v[(1 << 20) + 1], r,l;

long long secv(int lungime)
{
    hs.clear();
    long long sol = 0;
    int ultim = 1;
    for(int i = 1; i <= n; ++i)
    {
        hs[v[i]]++;
        while(lungime < hs.size())
        {
            hs[v[ultim]]--;
            if(!hs[v[ultim]]) hs.erase(v[ultim]);
            ultim++;
        }
        sol += i - ultim + 1;

    }
    return sol;
}

int main()
{
    f >> n >> l >> r;
    for(int i = 1; i <= n; ++i)
        f >> v[i];
    g << secv(r) - secv(l - 1);
    f.close();
    g.close();
    return 0;
}