Pagini recente » Cod sursa (job #1109100) | Cod sursa (job #401607) | Cod sursa (job #708059) | Cod sursa (job #607144) | Cod sursa (job #3031169)
#include <bits/stdc++.h>
using namespace std ;
ifstream fin("secv5.in") ;
ofstream fout("secv5.out") ;
const int NMAX=(1LL<<20)+5 ;
using ll =long long ;
ll v[NMAX],n,l,r ;
ll f(ll val)
{
unordered_map <ll,ll> m ;
ll ans=0,cnt=0,st=1;
for(ll i=1; i<=n; ++i)
{
if(m[v[i]]==0) cnt++ ;
m[v[i]]++ ;
while(cnt>val && st<=i)
{
m[v[st]]-- ;
if(m[v[st]]==0) cnt-- ;
st++ ;
}
ans+=i-st+1 ;
}
return ans;
}
int main()
{
fin>>n>>l>>r ;
for(ll i=1; i<=n; ++i) fin>>v[i] ;
fout<<f(r)-f(l-1) ;
return 0 ;
}