7 条题解

  • 0
    @ 2024-7-26 14:25:46

    #include<bits/stdc++.h> using namespace std; const int maxn=1e6+10; int a[maxn],n,m,q;

    int find(int x){ int l=1,r=n; while(l<r){ int mid=(l+r)/2; if(a[mid]>=x) r=mid; else l=mid+1; } if(a[l]==x)return l; else return -1; } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=m;i++){ cin>>q; int ans=find(q); printf("%d ",ans); } return 0; }

    信息

    ID
    2044
    时间
    1000ms
    内存
    125MiB
    难度
    5
    标签
    递交数
    278
    已通过
    97
    上传者