2 条题解
-
0
#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
- 1
信息
- ID
- 122
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 96
- 已通过
- 31
- 上传者