Pagini recente » Cod sursa (job #499187) | Cod sursa (job #1931099) | Cod sursa (job #2204035) | Cod sursa (job #2041226) | Cod sursa (job #3133069)
#include <unordered_map>
#include <iostream>
#include <fstream>
using namespace std ;
ifstream fin("secv5.in") ;
ofstream fout("secv5.out") ;
long long v[10000000],n,l,r ;
long long f(long long val)
{
unordered_map <long long,long long> m ;
long long ans=0,cnt=0,st=1;
for(long long 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(long long i=1; i<=n; ++i) fin>>v[i] ;
fout<<f(r)-f(l-1) ;
return 0 ;
}