3 条题解

  • 0
    @ 2025-1-12 16:15:51

    #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
    标签
    (无)
    递交数
    136
    已通过
    41
    上传者