Cod sursa(job #3348110)

Utilizator Lex._.Lex Guiman Lex._. Data 19 martie 2026 18:50:18
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
#define NMAX 1048576
using namespace std;

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

int n, v[NMAX+1];

long long solve(int nr_dif)
{
    long long nr_subsecv=0;
    map<int, int> nr;
    int cnt=0,  st=0;
    for(int i=1; i<=n; i++)
    {
        nr[v[i]]++;
        if(nr[v[i]]==1) cnt++;
        while(cnt>nr_dif && st<=i)
        {
            nr[v[st]]--;
            if(nr[v[st]]==0) cnt--;
            st++;
        }
        nr_subsecv+=i-st+1;
    }
    nr.clear();
    return nr_subsecv;
}

int main()
{
    int n, l, u;
    in >> n >> l >> u;
    for(int i=1; i<=n; i++)
    {
        in >> v[i];
    }
    out << solve(u)-solve(l-1);

    return 0;
}