求助,样例没问题,全wa
查看原帖
求助,样例没问题,全wa
739437
notwhy楼主2022/7/23 16:33
#include <stdio.h>
int search_half(int key, int n);
int a[1500000000];
int b[150000];
int main()
{
    int n, m;
    scanf("%d %d", &n, &m);
    for(int i = 1; i <= n; i++)
    {
        scanf("%d", &a[i]);
    }
    for(int i = 1; i <= m; i++)
    {
        scanf("%d", &b[i]);
    }

    for(int i = 1; i <= m; i++)
    {
        int ans = search_half(b[i], n);
        printf("%d ", ans);
    }
    return 0;
}

int search_half(int key, int n)
{
    int low = 1;
    int high = n;
    while(low <= high)
    {
        int mid = (low + high) / 2;
        if(key == a[mid])
        {
            while(key == a[mid])
            {
                mid--;
            }
            mid++;
            return mid;
        }
        else if(key < mid)
            high = mid - 1;
        else
            low = mid + 1;
    }
    return -1;
}
2022/7/23 16:33
加载中...