sfx_01 @ 2023-01-07 14:42:44
使用了lowerbound()之后,感觉逻辑上没有问题,报的应该是时间错误,不知道怎么修改了::><::
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100005];
int main( ){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=m;i++){
int x;cin>>x;
if(x<a[1]||x>a[n]){
cout<<-1<<" ";
}else{
int k=lower_bound(a+1,a+n+1,x)-a;
if(a[k]==x){
cout<<k<<" ";
}else{
cout<<-1<<" ";
}
}
}
}
by Light_az @ 2023-01-07 14:45:06
@sfx_01 数组小了
by sfx_01 @ 2023-01-07 14:45:54
@lianzhuo 嗯嗯 刚才通过了 多谢!