Cod sursa(job #3275705)

Utilizator apoputoaievladVlad Cristian Apoputoaie apoputoaievlad Data 11 februarie 2025 16:43:07
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

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

int n;
unsigned int a[1050000];

long long F(int u)
{
    int st,dr,nr;
    long long v1=0;
    unordered_map <unsigned int, int> m;
    st=1;
    nr=0;
    for(dr=1;dr<=n;dr++)
    {
        if(m[a[dr]]==0)
            nr++;
        m[a[dr]]++;
        while(u<nr)
        {
            if(m[a[st]]==1)
                nr--;
            m[a[st]]--;
            st++;
        }
        v1+=(dr-st+1);
    }
    return v1;
}

int main()
{
    int i,l,u;
    ios::sync_with_stdio(0);
    fin.tie(0);
    fin>>n>>l>>u;
    for(i=1;i<=n;i++)
        fin>>a[i];
    fout<<F(u)-F(l-1);
    return 0;
}