Pagini recente » Cod sursa (job #1114794) | Cod sursa (job #65768) | Cod sursa (job #2728050) | Cod sursa (job #2930860) | Cod sursa (job #3185786)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
long long v[1<<20];
int n;
long long catesecv(int x){
int r,l,nr=0;
long long rasp;
unordered_map<long long,int>frecv;
rasp=r=l=0;
while(r<n){
frecv[v[r]]++;
if(frecv[v[r]]==1)
nr++;
r++;
while(nr>x){
frecv[v[l]]--;
if(frecv[v[l]]==0)
nr--;
l++;
}
rasp=rasp+r-l;
}
return rasp;
}
int main()
{
int i,ll,uu;
cin>>n>>ll>>uu;
for(i=0;i<n;i++)
cin>>v[i];
cout<<catesecv(uu)-catesecv(ll-1);
return 0;
}