Pagini recente » Cod sursa (job #746320) | Cod sursa (job #2596487) | Cod sursa (job #2632882) | Cod sursa (job #313317) | Cod sursa (job #3171225)
#include <fstream>
#include <unordered_map>
#define NMAX 1100000
using namespace std;
int v[NMAX + 1], n;
int cate(int max){
unordered_map<int, int> frq;
int l = 1, dis = 0, cnt = 0;
for(int r = 1;r <=n;r++){
if(++frq[v[r]] == 1){
while(++dis > max){
if(--frq[v[l]] == 0){
dis--;
}
l++;
}
}
cnt+= r - l + 1;
}
return cnt;
}
int main(){
int x, y, i;
ifstream cin("secv5.in");
cin>>n>>x>>y;
for(i=1;i<=n;i++){
cin>>v[i];
}
cin.close();
ofstream cout("secv5.out");
cout<<cate(y) - cate(x - 1);
cout.close();
return 0;
}