1 条题解

  • 0
    @ 2023-10-6 14:41:58

    #include<bits/stdc++.h> using namespace std; const int maxn=100005; int n,m; struct qnode{ int x,id; }a[maxn]; int h[maxn],ans[maxn]={}; bool cmp(qnode A,qnode B){ return A.x<B.x; } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",&a[i].x); a[i].id=i; }for(int i=1;i<=m;i++){ scanf("%d",&h[i]); }sort(a+1,a+n+1,cmp); sort(h+1,h+m+1); int le,ri,pre=0; for(int i=1;i<=n;i++){ int le=1; int ri=m; int res=0; while(le<=ri){ int mid=(le+ri)>>1; if(h[mid]<=a[i].x){ res=mid; le=mid+1; }else{ ri=mid-1; } }ans[a[i].id]=res-pre; pre=res; }for(int i=1;i<=n;i++){ printf("%d\n",ans[i]); } }

    信息

    ID
    122
    时间
    2000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    96
    已通过
    31
    上传者