这个代码前8个测试点AC,其它RE
#include<bits/stdc++.h>
using namespace std;
int h[10005];
int main(){
int n,b;
cin>>n>>b;
for(int i=1;i<=n;i++){
cin>>h[i];
}
sort(h+1,h+n+1);
int sum=0,ans=0;
for(int i=n;i>0;i--){
sum+=h[i];
ans++;
if(sum>=b){
break;
}
}
cout<<ans;
}
又看了遍题目,以为要把int开成long long,有写了一遍,结果在c++编译过了,在洛谷没过,求调!!!!
#include<bits/stdc++.h>
using namespace std;
long long h[2000000010];
int main(){
long long n,b;
cin>>n>>b;
for(int i=1;i<=n;i++){
cin>>h[i];
}
sort(h+1,h+n+1);
long long sum=0,ans=0;
for(int i=n;i>0;i--){
sum+=h[i];
ans++;
if(sum>=b){
break;
}
}
cout<<ans;
}