怎么解决时间超限?
#include<iostream>
#include<cstdio>
using namespace std;
int n,q;
int a[100005];
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>q;
for(int i=1;i<=q;i++){
int x;
cin>>x;
int l=1,r=n;
while(l<r){
int mid=l+(r-l)/2;
if(x>a[mid]){
l=mid+1;
}
else if(x<=a[mid]){
r=mid;
}
}
if(a[r]==x){
cout<<r;
}
else{
cout<<-1;
}
if(i!=q){
cout<<" ";
}
}
return 0;
}