解释:农场主John 买了个书架,然后现在只有最高层有位置可以放书了,现在有N只羊,书架的高度为B,为最少几只羊可以拿到书架顶层的书?
解法:直接sort按长度倒叙排序,然后求和>书架长度即可。
c++标准库里的排序函数的使用方法
I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可!
II)Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
Sort函数使用模板:
Sort(start,end,排序方法)
#include<iostream>
using namespace std;
#include<algorithm>
int cow[20010];
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>cow[i];
}
sort(cow,cow+n);
int sum,cnt;
sum=0;
cnt=n-1;
for(cnt-1;cnt>=0;cnt--)
{
sum+=cow[cnt];
if(sum>=m)break;
}
cout<<n-cnt<<endl;
return 0;
}