怕不是毒瘤题

P1923 【深基9.例4】求第 k 小的数

black_trees @ 2020-03-27 23:13:11

我连快读快输都用了,为什么还是4,5点TLE啊啊啊啊啊

记录

代码:

#include<bits/stdc++.h>
using namespace std;
long long n,k,a[5000014];
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    return x*f;
}
inline void write(int x){
    char F[200];
    int tmp=x>0?x:-x ;
    if(x<0){ 
        putchar('-');
    }
    int cnt=0 ;
       while(tmp>0){
           F[cnt++]=tmp%10+'0';
           tmp/=10;
       }
       while(cnt>0){
            putchar(F[--cnt]);
       }
}
int main(){
    n=read();
    k=read();
    for(int i=0;i<n;i++){
        cin>>a[i];
    }  
    nth_element(a,a+k,a+n);
    write(a[k]);
    return 0;
}

求指点(最好不要改STL) (重度STL依赖症)


by yummy @ 2020-03-27 23:14:02

@我真的很辣鸡 你写了但是没调用啊


by Aw顿顿 @ 2020-03-27 23:14:36

@我真的很辣鸡 循环内也用快读试试?


by 麻省理工学院 @ 2020-03-27 23:14:54

@我真的很辣鸡 您循环那还是cin啊


by black_trees @ 2020-03-27 23:15:39

emm 我试试


by black_trees @ 2020-03-27 23:16:44

woc

我太大意了

谢谢大佬们


by 麻省理工学院 @ 2020-03-27 23:17:32

@我真的很辣鸡 没事,以后记住少用cin


by black_trees @ 2020-03-27 23:17:33

@Aw顿顿 @yummy @麻省理工学院

谢谢大佬


by black_trees @ 2020-03-27 23:18:07

@麻省理工学院 我现在对快读越来越依赖了。。。。


by Aw顿顿 @ 2020-03-27 23:41:03

其实register之类的常数优化可以更优的


by mot1ve @ 2020-03-27 23:52:10

讲真 这种题用分治做吧 用快读除了能水一道题没任何用


| 下一页