求助,神奇的输出
查看原帖
求助,神奇的输出
449063
quitp楼主2021/1/30 17:31

它输出了20007……

#include<bits/stdc++.h>

using namespace std;
typedef unsigned long long ull;//这相当于用ull代替了所有unsigned long long
ull h[20005],n,b,ans=0;
bool cmp(ull a,ull b){//从大到小排序
	return a>b;
}
int main(){
	cin>>n>>b;
	for(ull i=0;i<n;i++) cin>>h[i];
	sort(h,h+n,cmp);
	ull i=0;//从最高的牛开始判断
	while(b>0) {
		b-=h[i];//第i高的牛跳上了塔的顶端,所以还需要叠的高度要减少这头牛的高度
		ans++;//因此,塔上又多了一头牛
		i++;//然后判断下一头牛
	}
	cout<<ans<<endl;//最后输出
	return 0;
}

大佬看一下,怎么回事?

2021/1/30 17:31
加载中...