Pagini recente » Cod sursa (job #1842355) | Cod sursa (job #1374067) | Cod sursa (job #1211736) | Cod sursa (job #1436623) | Cod sursa (job #1737530)
#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=0;
long long answer=0;
unordered_map<unsigned int,int> Map;
Map.reserve(4096);
Map.max_load_factor(0.5);
for(i=0;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=0;i<n;i++)
scanf("%d",&v[i]);
printf("%lld",Count(u)-Count(l-1));
return 0;
}