比赛 2026初中综合小练习 评测结果 AWWWW
题目名称 求集合中最小的N个数 最终得分 20
用户昵称 llbc1234 运行时间 0.208 s
代码语言 C++ 内存使用 6.82 MiB
提交时间 2026-04-14 21:10:10
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long m=-114514,ans[1000005],i=0;
priority_queue<long long, vector<long long>, greater<long long> > mh; 
int main(){
    freopen("minvalinset.in","r",stdin);
    freopen("minvalinset.out","w",stdout);
    int n;
    cin>>n;  
    mh.push(1);
    while(i<=n){
//        if(m!=mh.top())printf("%d ",mh.top());
        m=mh.top();
        mh.pop();
        if(i>0 && m==ans[i-1]){
            continue;
        }
        ans[++i]=m;
        mh.push(m*2+1);
        mh.push(m*3+1);
    }
    for(int i=1;i<=n;i++){
        printf("%d ",ans[i]);
    }
}