有点蒙,谁来解答一下
查看原帖
有点蒙,谁来解答一下
1200191
封禁用户楼主2024/8/19 22:21

0分代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n,b;
int h[20000];
int cmp(int x,int y){
	return x>y;
}
int main(){
	cin>>n>>b;
	for(int i=0;i<n;i++){
		cin>>h[i];
	}
	int sum=0,ans=0;
	sort(h,h+n,cmp);
	for(int i=0;i<n;i++){
		sum+=h[i];
		if(sum>=b){
			break;
		}
		else ans++;
	}
	cout<<ans<<" ";
	return 0;
}

满分代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n,b;
int h[20000];
int cmp(int x,int y){
	return x>y;
}
int main(){
	cin>>n>>b;
	for(int i=0;i<n;i++){
		cin>>h[i];
	}
	int sum=0,ans=0;
	sort(h,h+n,cmp);
	for(int i=0;i<n;i++){
		sum+=h[i];
		if(sum>=b){
			break;
		}
		else ans++;
	}
	cout<<ans+1<<" ";
	return 0;
}

为什么需要加一???

2024/8/19 22:21
加载中...