TLE_Forever @ 2020-07-30 10:06:46
#include<iostream>
#include<algorithm>
#define MAXN 5000000
using namespace std;
int n,k,a[MAXN],cnt=0;
void QuickSort(int l,int r) {
int i=l,j=r,mid=a[(l+r)/2];
do{
while(a[i]<mid) i++;
while(a[j]>mid) j--;
if(i<=j) {
swap(a[i],a[j]);
i++; j--;
}
}while(i<=j);
if(l<j) QuickSort(l,j);
if(i<r) QuickSort(i,r);
}
int main() {
cin>>n>>k;
for(int i=0;i<n;i++) cin>>a[i];
QuickSort(0,n-1);
for(int i=0;i<=k;i++)
if(i==k) cout<<a[i]<<endl;
return 0;
}
最后两个数据点一直TLE,O2优化没有用QwQ
by xiaozeyu @ 2020-07-30 10:49:39
你要根据自己使用的变量类型改动,比如我这里
inline long long read()
long long x=0;
这是用long long 的,
inline long long read()
{
char c=getchar();long long x=0;bool f=0;
while(!isdigit(c))f^=!(c^45),c=getchar();
while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar();
if(f)x=-x;return x;
}
如果要用int的话:
inline int read()
{
char c=getchar();int x=0;bool f=0;
while(!isdigit(c))f^=!(c^45),c=getchar();
while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar();
if(f)x=-x;return x;
}
就这样改这两个变量
by 一只小H @ 2020-07-30 12:45:47
@一只小HQAQ 不一定要o2吧
by zyz1126 @ 2020-07-31 14:36:46
@xiaozeyu 我也用快读,但是不太懂,没想到还有小数快读,谢谢啦
by xiaozeyu @ 2020-07-31 14:38:22
@一只小HQAQ @自己好评