只能过样例+测试点1
#include<bits/stdc++.h>
using namespace std;
#define int long long
struct u {
int s,v;
}a[100005];
int n,k;
bool cmp(u x,u y) {
return x.v>y.v;
}
int findmy(int l,int r) {
int mid=(l+r)/2;
if(a[mid].v==k) return a[(l+r)/2].s;
if(k>a[mid].v) return findmy(l,mid-1);
else return findmy(mid+1,r);
}
signed main() {
cin>>n;
for(int ooo=0; ooo<n; ooo++) {
cin>> a[ooo].v;
a[ooo].s=ooo+1;
}
sort(a,a+n,cmp);
// for(int ooo=0; ooo<n; ooo++) cout<<a[ooo].s<<" "<<a[ooo].v<<endl;
int Q;
cin>>Q;
int y[Q];
for(int ooo=0; ooo<Q; ooo++) {
cin>>k;
int ans;
if(k>a[0].v||k<a[n-1].v) {
// cout<<0<<endl;
ans=0;
break;
}
// for(int oo=0; oo<n; oo++) {
// if(a[oo].v==o) {
// ans=a[oo].s;
// break;
// }
// }
else ans=findmy(0,n);
y[ooo]=ans;
}
// cout<<endl<<endl;
for(int ooo=0; ooo<Q; ooo++)cout<<y[ooo]<<endl;
return 0;
}