Pagini recente » Cod sursa (job #261813) | Borderou de evaluare (job #1774080) | Borderou de evaluare (job #2156845) | Borderou de evaluare (job #2182010) | Cod sursa (job #3270457)
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,q,l,u;
int v[1000001];
int cnt(int x){
int i, j, nr;
unordered_map<int, int> frecv;
int ans;
i=j=nr=ans=0;
while(j<n){
frecv[v[j]]++;
if(frecv[v[j]]==1)
nr++;
j++;
while(nr>x){
frecv[v[i]]--;
if(frecv[v[i]]==0)
nr--;
i++;
}
ans+=j-i;
}
return ans;
}
signed main()
{
ifstream cin("secv5.in");
ofstream cout("secv5.out");
cin>>n>>l>>u;
for(int i=1;i<=n;i++)
{cin>>v[i];
}
cout << cnt(u) - cnt(l - 1);
return 0;
}