3 条题解
-
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]); } }
信息
- ID
- 122
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 136
- 已通过
- 41
- 上传者