Cod sursa(job #3348104)

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

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

int v[NMAX+1];
map<int, int> nr1, nr2;

int main()
{
    int n, l, u;
    in >> n >> l >> u;
    int st=1, dr=1;
    long long nr_subsecv=0;
    for(int i=1; i<=n; i++)
    {
        in >> v[i];
        nr1[v[i]]++;
        nr2[v[i]]++;
        while(nr1.size()>u && st<=i)
        {
            nr1[v[st]]--;
            if(nr1[v[st]]==0) nr1.erase(nr1.find(v[st]));
            st++;
        }
        while(nr2.size()>=l && dr<=i)
        {
            nr2[v[dr]]--;
            if(nr2[v[dr]]==0) nr2.erase(nr2.find(v[dr]));
            dr++;
        }
        nr_subsecv+=dr-st;
    }
    out << nr_subsecv;

    return 0;
}