题目传送门
题意:
一共有 n n n 个男孩, m m m 个女孩,然后每一个男孩都要给女孩红包,给出每一个男孩给出最小的红包,和给出每一个女孩收到的最大的红包,让你求出怎样发红包使得红包总和最小。
思路:
-
我们需要先判断不符合现实的情况,就是在男孩中的最小红包的最大应该小于女孩最大红包的最小,因为每个男孩都要给女孩红包,如果存在一个男孩的最小红包都大于这个女孩收到的最大红包是不可能的。(
就像王思聪给你 100 100 100 万,但你说不要这样) -
很明显直接贪心,让最小红包最大的派给女孩,但是你最小的红包还是要派出去,所以最多派 m − 1 m - 1 m−1 个女孩,但是如果她的最大红包恰好是你的最小,也能派。
代码:
#include <bits/stdc++.h>