Cod sursa(job #3348108)

Utilizator Lex._.Lex Guiman Lex._. Data 19 martie 2026 18:45:43
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 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 cnt1=0, cnt2=0;

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]]++;
        if(nr1[v[i]]==1) cnt1++;
        if(nr2[v[i]]==1) cnt2++;
        while(cnt1>u && st<i)
        {
            nr1[v[st]]--;
            if(nr1[v[st]]==0)  cnt1--;
            st++;
        }
        while(cnt2>=l && dr<i)
        {
            nr2[v[dr]]--;
            if(nr2[v[dr]]==0) cnt2--;
            dr++;
        }
        nr_subsecv+=dr-st;
    }
    out << nr_subsecv;

    return 0;
}