Cod sursa(job #3128455)

Utilizator captn333Andreea Capitanu captn333 Data 9 mai 2023 16:38:10
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <unordered_map>

using namespace std;

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

int n, l, u;
int v[1050000];

void Citire();
int Perechi(int k);
void Afisare();

int main()
{
    Citire();
    Afisare();

    return 0;
}

void Citire()
{
    fin >> n >> l >> u;
    for(int i = 0; i < n; i++)
        fin >> v[i];
}

int Perechi(int k)
{
    int st = 0, dr, sol = 0, cnt = 0;
    unordered_map<int, int> umap;
    for(dr = 0; dr < n; dr++)
    {
        if(umap[v[dr]] == 0)
            cnt++;
        umap[v[dr]]++;
        while(cnt > k && st <= dr)
        {
            umap[v[st]]--;
            if(umap[v[st]] == 0)
                cnt--;
            st++;
        }
        sol += dr - st + 1;
    }
    return sol;
}

void Afisare()
{
    fout << Perechi(u) - Perechi(l - 1);
}