HuangSiHan3116 @ 2024-11-10 12:14:03
#include<bits/stdc++.h>
#define int long long
using namespace std;
long long n,a[90000000],m,q;
signed main(){
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
for(int i=1;i<=m;i++){
scanf("%lld",&q);
int b=0;
for(int j=1;a[j]<=q;j++){
if(a[j]==q){
printf("%lld ",j);
b=1;
break;
}
}
if(!b) printf("-1 ");
}
return 0;
}
by HuangSiHan3116 @ 2024-11-10 12:35:09
真是
by HuangSiHan3116 @ 2024-11-10 12:39:49
@pika_ @__int1024 谢谢,那我代码能AC吗?一定得用二分?
by __int1024 @ 2024-11-10 12:40:53
@HuangSiHan3116 一定二分
by __int1024 @ 2024-11-10 12:41:09
@HuangSiHan3116 求关
by HuangSiHan3116 @ 2024-11-10 12:44:08
@__int1024 关了
by pika_ @ 2024-11-10 12:45:39
输入 n 个不超过
10^9 的单调不减的(就是后面的数字不小于前面的数字)非负整数
一般都是用二分 \ STL里面的lower_bound应该也行(lower_bound也是基于二分的)
by pika_ @ 2024-11-10 12:48:25
二分时间复杂度
by yuemingshuo @ 2024-11-27 17:47:37
关掉O2优化