Cod sursa(job #3185778)

Utilizator luca._.solosluca solos luca._.solos Data 20 decembrie 2023 13:36:01
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <fstream>
#include <map>

using namespace std;

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

map <int,int> m;

int v[1100000];

int main()
{
    int n, lu, u, cnt=0;
    cin>>n>>lu>>u;
    for(int i=0; i<n; i++)
    {
        cin>>v[i];
    }
    int l=0, dif=0;
    for(int r=0; r<n; r++)
    {
        if(m[v[r]]==0)
            dif++;
        m[v[r]]++;
        while(dif>u)
        {
            if(m[v[l]]==1)
            {
                dif--;
            }
            l++;
            m[v[l-1]]--;
        }
        if(dif>=lu)
        {
            cnt+=r-l;
        }
    }
    
    cout<<cnt--;

    return 0;
}