2 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=20010; int a[N]; int main() { int n,m; cin>>n>>m; for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); //从小到大 reverse(a,a+n); //从大到小 int sum=0; //已有高度 int cnt=0; //已选牛的数目 for(int i=0;i<n;i++) //依次枚举每头牛 { sum+=a[i]; cnt++; if(sum>=m) //已经达到书架的高度 { break; } } cout<<cnt; return 0; }
Information
- ID
- 1013
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 30
- Accepted
- 20
- Uploaded By