求助大佬,实在是不知道错哪里

P2249 【深基13.例1】查找

dhhhhh1235 @ 2024-12-22 20:29:03

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;

}

#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了


|