Pagini recente » Cod sursa (job #2436057) | Cod sursa (job #296441) | Cod sursa (job #989507) | Cod sursa (job #3295866) | Cod sursa (job #1737529)
#include<cstdio>
#include<unordered_map>
#define MAXN 1048580
using namespace std;
int n,l,u;
unsigned int v[MAXN];
long long Count(int value){
int i,j=1;
long long answer=0;
unordered_map<unsigned int,int> Map;
Map.reserve(4096);
Map.max_load_factor(0.5);
for(i=1;i<=n;i++){
Map[v[i]]++;
while(static_cast<int>(Map.size())>value){
Map[v[j]]--;
if(Map[v[j]]==0)
Map.erase(v[j]);
j++;
}
answer=answer+i-j+1;
}
return answer;
}
int main(){
freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
int i;
scanf("%u%u%u",&n,&l,&u);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
printf("%lld",Count(u)-Count(l-1));
return 0;
}