蒟蒻手写二分求调
查看原帖
蒟蒻手写二分求调
1235962
chen_1111楼主2024/11/2 21:19
#include<bits/stdc++.h>
using namespace std;
int n,q,a[1000005],t;
int main()
{
    cin>>n>>q;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    while(q--)
    {
        int ans=-1,l=1,r=n;
        cin>>t;
        while(l<=r)
        {
            int mid=(l+r)/2;
            if(a[mid]==t)
            {
                ans=mid;
                break;
            }
            if(a[mid]<t)
                l=mid+1;
            else
                r=mid;
        }
        cout<<ans<<" ";
    }
}
2024/11/2 21:19
加载中...