1 条题解

  • 0
    @ 2025-10-19 21:05:36

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

    信息

    ID
    398
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    递交数
    91
    已通过
    16
    上传者