Contest2646 - 二分

2024-07-15 08:00:00
3333-07-15 12:00:00
运行中 公开 当前时间:2024-11-10 11:19:21

信息与公告

#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int cal(int l,int r,int k1)

    int ans=-1;
    while(l<=r)
    {
        int mid=(l+r)/2;
        if(a[mid]==k1)
        {
            ans=mid;
        } 
        if(a[mid]>=k1)
        {
            r=mid-1;
        }
        else
        {
            l=mid+1;
        }
    }
        return ans;
}
int main()
{
    int k,m,n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    scanf("%d",&m);
    while(m--)
    {
        scanf("%d",&k);
        cout<<cal(1,n,k)<<' ';
    }
}