Cod sursa(job #2306619)

Utilizator liviu2000Dragomirescu Liviu liviu2000 Data 22 decembrie 2018 17:34:45
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define N 1100000

using namespace std;

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

unsigned int v[N] ,n;

long long f(long long k)
{
    unordered_map<unsigned int,int> mp;
    int i = 1 , j ;
    long long sol =0 ;
    for ( j = 1 ; j <= n ; j++ )
    {
        mp[v[j]]++ ;
        if ( mp[v[j]] == 1 )
            ct++ ;
        while ( mp.size() > k )
        {
            mp[v[i]]-- ;
            if ( mp[v[i]] == 0 )
                mp.erase(v[i]) ;
            i++;
        }
        sol = 1LL*(sol + j-i+1) ;
    }
    return sol ;
}

int main()
{
    unsigned int l , r , x , i ;
    fin >> n >> l >> r ;
    for ( i = 1 ; i <= n ; i++ )
    {
        fin >> x ;
        v[i] = x ;
    }
    fout << 1LL*(f(r)-f(l-1)) ;
}