3 条题解
-
0
从小到大排序,如果num>=a[i]-1,可以直接选择,否则贪心选择不能构成的最大金币数
#include <iostream> #include <vector> #include <set> #include <algorithm> using namespace std; #define int long long const int mod=1e+7; signed main() { iostream::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n,k;cin >>n>>k; vector<int> a(n); for(int i=0;i<n;i++) cin >> a[i]; sort(a.begin(),a.end()); int num=0,ans=0; for(int i=0;i<n;i++){ while(num+1<a[i]){ num+=num+1; ans++; } num+=a[i]; } while(num<k) { ans++; num+=num+1; } cout<<ans<<endl; return 0; }
信息
- ID
- 594
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 32
- 已通过
- 7
- 上传者