O2优化什么原理
查看原帖
O2优化什么原理
218533
xxbc0024楼主2022/1/18 13:26

没开O2的时候最后一个点超时,开了就过了,什么原理呀

#include<bits/stdc++.h>
using namespace std;
const int MAXN=5000010;
long long n,m;
int q[MAXN];

void qsort(int q[],int l,int r)
{
	if(l>=r) return;
	
	int x=q[l+r>>1],i=l-1,j=r+1;
	while(i<j)
	{
		do i++;while(q[i]<x);
		do j--;while(q[j]>x);
		if(i<j) swap(q[i],q[j]);
	}
	qsort(q,l,j),qsort(q,j+1,r);
}

int main()
{
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;++i)
		scanf("%d",&q[i]);
	qsort(q,0,n-1);
	printf("%d",q[m]);
	
	return 0;
}
2022/1/18 13:26
加载中...