二分:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,i,q;
LL m;
struct bottle
{
int num;
LL sum;
}bot[100001];
bool cmp(bottle x,bottle y)
{
return x.sum<y.sum;
}
int search(LL x,int l,int r)
{
if(l>r)return 0;
if(bot[(r%2==0)?r/2:r/2+1].sum==x)return bot[(r%2==0)?r/2:r/2+1].num;
else if(bot[(r%2==0)?r/2:r/2+1].sum<x)return search(x,((r%2==0)?r/2:r/2+1)+1,r);
else return search(x,l,((r%2==0)?r/2:r/2+1)-1);
}
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lld",&bot[i].sum);
bot[i].num=i;
}
sort(bot+1,bot+n+1,cmp);
scanf("%d",&q);
for(i=1;i<=q;i++)
{
scanf("%lld",&m);
printf("%d\n",search(m,1,n));
}
return 0;
}