求助!为啥零分?
查看原帖
求助!为啥零分?
530570
Firrel_qaq楼主2022/5/14 11:56
#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int n,m;
int main(){
    scanf("%d%d",&n,&m);
    for(int i = 1;i <= n;i++){
        scanf("%d",&a[i]);
    }
    for(int i = 1;i <= m;i++){
        int q;
        scanf("%d",&q);
        int l = 1,r = n,ans = -1;
        while(l <= r){
            int mid = (l + r) / 2;
            if(a[mid] == q){
                ans = mid;
                r = mid + 1;
            }
            else if(a[mid] < q){
                l = mid - 1;
            }
            else{
                r = mid + 1;
            }
        }
        printf("%d ",ans);
    }
    return 0;
}
2022/5/14 11:56
加载中...