Cod sursa(job #3324752)

Utilizator superbibiHudea P. Victor superbibi Data 23 noiembrie 2025 12:38:21
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");

long long v[1000005];
unordered_map<long long, int> m;

long long nrsecv(int nr,const int n)
{
    int i = 1, j = 1, c = 0;
    long long secv = 0;
    m.clear();
    while (i <= n)
    {
        if (m[v[i]] == 0)
        {
            c++;
        }
        m[v[i]]++;
        while (c > nr)
        {
            m[v[j]]--;
            if (m[v[j]] == 0)
            {
                c--;
            }
            j++;
        }
        secv += (i - j + 1);
        i++;
    }
    return secv;
}

int main()
{
    int l, u, n;
    fin >> n >> l >> u;
    for (int i = 1; i <= n; i++)
    {
        fin >> v[i];
    }
    fout << nrsecv(u, n) - nrsecv(l - 1, n);
}