记录编号 |
240848 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[HZOI 2015] 语课代的文艺犯二 |
最终得分 |
100 |
用户昵称 |
stdafx.h |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.515 s |
提交时间 |
2016-03-23 20:31:26 |
内存使用 |
0.69 MiB |
显示代码纯文本
#define maxn 100010ul
#include <queue>
#include <stdio.h>
#include <algorithm>
struct pii{int s,p;friend bool operator < (const pii &a,const pii &b){return a.s>b.s;}}tmp;
std::priority_queue<pii> que;
int n,k,ans,seq[maxn];
void read(int &x){
x=0;int c=getchar();
while(c<'0'||c>'9') c=getchar();
for(;c>='0'&&c<='9';c=getchar()) x=(x<<1)+(x<<3)+(c^48);
return;
}
int main(){
freopen("section_monitor.in","r",stdin);
freopen("section_monitor.out","w",stdout);
read(n),read(k);
for(int i=1;i<=n;i++) read(seq[i]);
std::sort(seq+1,seq+n+1);
que.push((pii){seq[1],1});
for(int i=1;i<=k;i++){
tmp=que.top(),que.pop(),ans=tmp.s;
if(tmp.p==n) continue;
que.push((pii){tmp.s+seq[tmp.p+1],tmp.p+1});
que.push((pii){tmp.s-seq[tmp.p]+seq[tmp.p+1],tmp.p+1});
}
return printf("%d",ans),0;
}