xuzihao123 @ 2023-07-11 13:44:05
#include <iostream>
#include <string>
using namespace std;
int main(){
int a[10000000],n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int u;
int m;
int l,r;
for(int i=1;i<=k;i++){
bool s=true;
scanf("%d",&m);
l=1;
r=n+1;
while(l<=r){
u=(l+r)/2;
if(a[u]==m){
printf("%d",u);
printf("%c",32);
s=false;
break;
}
else if(a[u]>m){
r=u-1;
}
else {
l=u+1;
}
}
if(s==true){
printf("%d",-1);
printf("%c",32);
}
}
}#include <iostream>
#include <string>
using namespace std;
int main(){
int a[10000000],n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int u;
int m;
int l,r;
for(int i=1;i<=k;i++){
bool s=true;
scanf("%d",&m);
l=1;
r=n+1;
while(l<=r){
u=(l+r)/2;
if(a[u]==m){
printf("%d",u);
printf("%c",32);
s=false;
break;
}
else if(a[u]>m){
r=u-1;
}
else {
l=u+1;
}
}
if(s==true){
printf("%d",-1);
printf("%c",32);
}
}
}
by xuzihao123 @ 2023-07-11 13:44:45
搞错了,后面多了一段程序