点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+7;
int n,a[N];
int b[N],c[N];
vector<int> v[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
b[i]=a[i];
c[i]=a[i];
}
sort(b+1,b+1+n);
int len=unique(b+1,b+1+n)-b-1;
for(int i=1;i<=n;i++){
a[i]=lower_bound(b+1,b+1+len,a[i])-b;
}
for(int i=1;i<=n;i++){
v[a[i]].push_back(i);
}
int m;
cin>>m;
for(int i=1;i<=m;i++){
int l,r,target;
cin>>l>>r>>target;
int times=upper_bound(v[target].begin(),v[target].end(),r)-upper_bound(v[target].begin(),v[target].end(),l-1);
printf("从%d到%d :%d的出现次数为%d\n",l,r,target,times);
}
return 0;
}