社区讨论
E 调1h调不出 求条玄关
学术版参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mk8cu8fk
- 此快照首次捕获于
- 2026/01/10 21:42 上个月
- 此快照最后确认于
- 2026/01/10 22:14 上个月
罚坐70min/oh
CPP#include<bits/stdc++.h>
using namespace std;
#define pb push_back
long long cmp(long long a,long long b){
return a>b;
}
map<pair<long long,pair<long long,long long> > ,long long>s;
priority_queue<pair<long long,pair<long long,long long> > ,vector<pair<long long,pair<long long,long long> > >,less<pair<long long,pair<long long,long long> > > >q;
long long n,k,x,a[200009],ans[200009],anscnt;
void solve(){
cin>>n>>k>>x;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n,cmp);
cout<<a[1];
q.push({k*a[1],{1,0}});
while(!q.empty()){
if(anscnt>=x) break;
anscnt++,ans[anscnt]=q.top().first;
long long cnt=q.top().first;pair<long long,long long> noww=q.top().second;q.pop();
if(noww.first<n){
if(!s[{cnt+a[noww.first+1]-a[noww.first],{noww.first+1,noww.second}}]){
s[{cnt+a[noww.first+1]-a[noww.first],{noww.first+1,noww.second}}]=1;
q.push({cnt+a[noww.first+1]-a[noww.first],{noww.first+1,noww.second}});
}
}
if(noww.second<x){
if(!s[{cnt+a[noww.first]-a[1],{noww.first,noww.second+1}}]){
s[{cnt+a[noww.first]-a[1],{noww.first,noww.second+1}}]=1;
q.push({cnt+a[noww.first]-a[1],{noww.first,noww.second+1}});
}
}
}
for(int i=1;i<=x;i++)
cout<<ans[i]<<'\n';
s.clear();
while(!q.empty()) q.pop();
n=k=x=anscnt=0;
}
int main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
long long T=1;//cin>>T;
while(T--) solve();
}
//后面忘了
回复
共 0 条回复,欢迎继续交流。
正在加载回复...