Pagini recente » Cod sursa (job #2949039) | Cod sursa (job #1023355) | Cod sursa (job #516660) | Cod sursa (job #1609221) | Cod sursa (job #3031156)
#include <bits/stdc++.h>
using namespace std ;
ifstream fin("secv5.in") ;
ofstream fout("secv5.out") ;
const int NMAX=(1LL<<20)+5 ;
int v[NMAX],n,l,r ;
int f(int val)
{
unordered_map <int,int> m ;
int ans=0,cnt=0,st=1;
for(int 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(int i=1; i<=n; ++i) fin>>v[i] ;
fout<<f(r)-f(l-1) ;
return 0 ;
}