Pagini recente » Cod sursa (job #1811013) | Cod sursa (job #249800) | Cod sursa (job #2723666) | Cod sursa (job #1943027) | Cod sursa (job #1954973)
#include <bits/stdc++.h>
#define Nmax (1<<20+2)
using namespace std;
ifstream fin ("secv5.in");
ofstream fout ("secv5.out");
unsigned int n,l,u,v[Nmax];
unsigned long long doit(unsigned int a){
unordered_map<unsigned int, unsigned int> hash1;
unsigned int first=0;
long long answer=0;
for(unsigned int i=0;i<n;++i){
hash1[v[i]]++;
while(hash1.size()>a){
hash1[v[first]]--;
if(!hash1[v[first]])hash1.erase(v[first]);
first++;
}
answer+=1LL*(i-first+1);
}
return answer;
}
int main()
{
fin>>n>>l>>u;
for(int i=0;i<n;++i)
fin>>v[i];
fout<<doit(u)-doit(l-1)<<'\n';
return 0;
}