2 条题解

  • 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]); } }

    • -1
      @ 2024-10-21 17:28:50
      • 1

      信息

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