Pagini recente » Cod sursa (job #1699553) | Cod sursa (job #2136392) | Cod sursa (job #2050657) | Cod sursa (job #3223877) | Cod sursa (job #2306621)
#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]]++ ;
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 << f(r)-f(l-1) ;
return 0 ;
}