这道题目是一道贪心题,我们为了少用奶牛就要排序,尽量选高的奶牛,就可以了
#include<iostream>
#include<algorithm>
#define int long long//防止越界(不用long long我也不知道能不能AC)
using namespace std;
int n, m;
int a[20010];
signed main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
int ans = 0, sum = 0;//sum用来身高和,ans存需要的奶牛数量
sort(a + 1, a + n + 1);//排序
for (int i = n; i >= 1; i--)//由于是升序排序,所以要从n开始倒退回1
{
sum += a[i];
ans++;
if (sum >= m) break;//当身高和>=m时,就可以提前退出了
}
cout << ans;
return 0;
}
共 5 条回复
整个题库都有9000多题,整个网站做了一题的都只有3202人,就算全部做题,做的还是不一样的题都才1/3的概率看到你这个帖子
我去看了一下,才5298人
我们这个网站才几千人?又不像洛谷,一个比赛几万人报名,一个网站就至少有十万
@zswzh
嗯,对,没有人发评论
没有人发评论吗😨