dhhhhh1235 @ 2024-12-22 20:29:03
using namespace std;
const int N=1000100;
int n,m,x;
int q[N];
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++) cin>>q[i];
while(m--)
{
cin>>x;
int l=0,r=n-1;
while(l<r){
int mid=(l+r)>>1;
if(q[mid]>=x) r=mid;
else
l = mid+1;
}
if(q[l]!=x) cout<<"-1 "<<endl;
else{
cout<<l+1<<' ';
continue;
int l=0,r=n-1;
while(l<r){
int mid=(l+r+1)>>1;
if(q[mid]<=x) l=mid;
else r = mid-1;
}
cout<<l<<endl;
}
}
return 0;
}
#include<iostream>
using namespace std;
const int N=1000100;
int n,m,x;
int q[N];
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++) cin>>q[i];
while(m--)
{
cin>>x;
int l=0,r=n-1;
while(l<r){
int mid=(l+r)>>1;
if(q[mid]>=x) r=mid;
else
l = mid+1;
}
if(q[l]!=x) cout<<"-1 "<<endl;
else{
cout<<l+1<<' ';
continue;
int l=0,r=n-1;
while(l<r){
int mid=(l+r+1)>>1;
if(q[mid]<=x) l=mid;
else r = mid-1;
}
cout<<l<<endl;
}
}
return 0;
}
by pika_ @ 2024-12-22 20:33:49
int l=0,r=n-1;
while(l<r){
int mid=(l+r+1)>>1;
if(q[mid]<=x) l=mid;
else r = mid-1;
}
cout<<l<<endl;
这一段在干嘛,都continue了