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;
}
为什么需要加一???