1 条题解
-
0
题意
有 头奶牛和书柜高度 ,给定他们的身高 ,求最少需要多少头奶牛可以达到高度 。
思路
我们可以想到贪心,尽量使用高的奶牛。先将奶牛高度从高到低排序,可以这样写
sort(a + 1, a + n + 1, greater<int>());。再一个一个取,用 记录当前高度,直到高度大于等于 为止。代码
#include <bits/stdc++.h> using namespace std; int n, b, sum, a[20010]; int main() { scanf("%d%d", &n, &b); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); sort(a + 1, a + n + 1, greater<int>()); for (int i = 1; i <= n; i++) { sum += a[i]; if (sum >= b) { printf("%d", i); break; } } return 0; }题解来之不易,且看且珍惜。给个赞再走吧。
- 1
信息
- ID
- 1372
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 69
- 已通过
- 40
- 上传者