#6TLE求助
查看原帖
#6TLE求助
1217682
xingtiankai2023楼主2024/1/1 10:57
#include<iostream>
using namespace std;
int main()
{
    bool c = false;
    int n,m;
    cin >> n >> m;
    int a[n+1],begin = 1,end = n,mid;
    a[0] = -1;
    for(int i = 1;i <= n;i++)
    {
        cin >> a[i];
    }
    for(int i = 0,k;i < m;i++)
    {
        cin >> k;
        begin = 1,end = n;
        c = false;
        for(;begin <= end;)
        {
            mid = (begin+end)/2;
            if(a[mid] == k)
            {
                c = true;
                while(a[mid-1] == a[mid])
                {
                    mid--;
                }
                cout << mid << " ";
                break;
            }
            else if(a[mid] > k)
            {
                end = mid-1;
            }
            else
            {
                begin = mid+1;
            }
        }
        if(!c)
        {
            cout << "-1 ";
        }
    }
    system("pause");
    return 0;
}
2024/1/1 10:57
加载中...