题解 | 小红的口罩

小红的口罩

https://www.nowcoder.com/practice/fde642522d664b49a10fe9de51686026

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define endl '\n'
using vi = vector<int>;
using vl = vector<ll>;
typedef pair<int, int> pii;
using vpii = vector<pii>;
const int MOD=998244353;
//#define int ll
int main() {
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int n,k;cin>>n>>k;
    priority_queue<int,vector<int>,greater<int>> a;//定义一个优先队列,让其是最小的在队列头
    for (int i=0;i<n;i++){
        int x;cin>>x;
        a.push(x);
    }
    int day=0;
    int sum=0;
    int i=0;
    while (1) { //将最小的不舒适度放到sum中,当不舒适度大于k时候,跳出循环
        sum+=a.top();
        if (sum>k)break;
        a.push(a.top()*2);
        a.pop();
        day++;
    }
    cout<<day<<endl;
    return 0;

}

全部评论

相关推荐

2025-12-18 11:59
广州南方学院 C++
牛客78682892...:直接点还好,总比要了简历也不回的强
点赞 评论 收藏
分享
01-11 08:47
门头沟学院 Java
choumoduji...:读研的目的就是为了以最快的速度和最低的要求完成“学校”规定的毕业标准,而不是所谓课题组的要求
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务