#5用把cin改成scanf居然就不超时了...
查看原帖
#5用把cin改成scanf居然就不超时了...
757852
Inoriant楼主2022/8/23 01:02
#include<bits/stdc++.h>
using namespace std;
int num[100000001],n;int k;
int mysort(int a,int b){
    int mid=num[(a+b)/2],i=a,j=b;
    while(i<=j){
        while(num[i]<mid)i++;
        while(num[j]>mid)j--;
        if(i<=j){swap(num[i],num[j]);i++;j--;}
    }
    if(i<=k)mysort(i,b);
    else if(k<=j)mysort(a,j);
    else {cout<<num[k];exit(0);}

}
int main(){
    
    cin>>n>>k;
    k+=1;
    for(int i=1;i<=n;i++)scanf("%d",&num[i]);//用cin会超时
    mysort(1,n);
    
    return 0;
}

改了半天#5一直超时 结果把cin换成scanf过了... cin和scanf的效率差别原来真的这么大吗

2022/8/23 01:02
加载中...