1 条题解

  • -1
    @ 2026-4-7 13:24:55

    #include<bits/stdc++.h> using namespace std; int n,x,a[200005]; int main() { cin>>n>>x; for(int i=1;i<=n;i++) scanf("%d",&a[i]); int l=0,r=n+1; while(l+1<r){ int mid=(l+r)/2; if(a[mid]<=x) l=mid; else r=mid; } if(a[l]==x) cout<<l;
    else cout<<-1; return 0; }

    • 1

    二分查找-类型3(查找某个数字最后一次出现的位置)

    信息

    ID
    4941
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    63
    已通过
    31
    上传者