Pagini recente » Cod sursa (job #1111106) | Cod sursa (job #1878971) | Cod sursa (job #3193096) | Cod sursa (job #1823269) | Cod sursa (job #2306616)
#include <bits/stdc++.h>
#define N 1100000
using namespace std;
ifstream fin("secv5.in") ;
ofstream fout("secv5.out") ;
long long v[N] ,n;
long long f(long long k)
{
unordered_map<int,int> mp;
long long i = 1 , j ;
long long sol =0,ct=0;
for ( j = 1 ; j <= n ; j++ )
{
mp[v[j]]++ ;
if ( mp[v[j]] == 1 )
ct++ ;
while ( ct > k && j >= i )
{
mp[v[i]]-- ;
if ( mp[v[i]] == 0 )
mp.erase(v[i]) , ct-- ;
i++;
}
sol = sol + j-i+1 ;
}
return sol ;
}
int main()
{
long long 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)) ;
}