关于80分#5TLE这个问题……
查看原帖
关于80分#5TLE这个问题……
393811
大海中的孤帆楼主2023/8/9 10:34

这里本蒟蒻比较懒 用的goto语句,但是TLE了

#include<iostream>
using namespace std;
int n,k;
int a[50000010];
int maxn=0;
int main()
{
	cin>>n>>k;
	for(int i=0;i<n;++i)
	{
		cin>>a[i];
	}
	int l=0,r=n-1;
	back:
	int i=l,j=r,mi=a[(l+r)/2];
	do
	{
		while(a[j]>mi)
			j--;
		while(a[i]<mi)
			i++;
		if(i<=j)
		{
			int o=a[i];
			a[i]=a[j];
			a[j]=o;
			i++;
			j--;
		}
	}while(i<=j);
	if(k<=j)
	{
		r=j;
		goto back;
	}
	else if(i<=k)
	{
		l=i;
		goto back;
	}
	else
	{
		cout<<a[j+1];
	}
	return 0;
}
2023/8/9 10:34
加载中...