#Z1050. [完善代码]抢气球

[完善代码]抢气球

教室的墙上挂满了气球,五颜六色,小朋友们非常喜欢。

刚一下课,小朋友们就打算去抢这些气球。每个气球在墙上都有一定的高度,只有当小朋友跳起来时,手能够到的高度大于等于气球的高度,小朋友才能摘到这个气球。为了公平起见,老师让跳的低的小朋友先摘,跳的高的小朋友后摘。小朋友都很贪心,每个小朋友在摘气球的时候都会把自己能摘的气球都摘掉。

很巧的是,小朋友们跳起来手能够着的高度都不一样,这样就不会有跳起来后高度相同的小朋友之间发生争执了。

一共有 n 个小朋友,m 个气球,求每个小朋友最多能摘多少个气球。(n,m≤100000)

样例输入

10 10
1 2 3 4 5 6 7 8 9 10
3 1 4 6 7 8 9 9 4 12

样例输出

1
0
1
2
0
1
1
1
2
0
#include <iostream>
#include <algorithm>
using namespace std;
struct Node {
	int h, id;
} stu[100005];
bool cmp(Node p1, Node p2) {
	return p1.h < p2.h;
}
int ball[100005], ans[100005];
int main() {
	int n, m;
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		cin >> stu[i].h;
		stu[i].id = i;
	}
	for (int i = 0; i < m; i++) {
		cin >> ball[i];
	}
	sort(stu, stu + n, cmp);
//


	for (int i = 0; i < n; i++) {
		cout << ans[i] << endl;
	}
	return 0;
}