记录编号 |
530219 |
评测结果 |
WWWWWWWTWW |
题目名称 |
爱摔跤的比利海灵顿 |
最终得分 |
0 |
用户昵称 |
瑆の時間~無盡輪迴·林蔭 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
2.959 s |
提交时间 |
2019-04-18 20:47:30 |
内存使用 |
79.45 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
#define int long long int
int dui[10000001];
int n,k;
void up(int x)
{
while(x>1)
{
if(dui[x/2]<dui[x])
{
swap(dui[x/2],dui[x]);
x=x/2;
}
else
{
break;
}
}
}
void kill(int r)
{
int x=r*2;
while(x<=n)
{
if(x<n&&dui[x]<dui[x+1])
{
x++;
}
if(dui[x]>dui[r])
{
swap(dui[x],dui[r]);
r=x;
x=r*2;
}
else
{
break;
}
}
}
signed main()
{
freopen("find_k.in", "r", stdin);
freopen("find_k.out", "w", stdout);
scanf("%lld%lld",&n,&k);
for(int i=1;i<=n;i++)
{
scanf("%lld",&dui[i]);
up(i);
}
for(int i=1;i<k;i++)
{
dui[1]=dui[n--];
kill(1);
}
printf("%lld",dui[1]);
return 0;
}