问题标题: 酷町堂:4210:k小元素(数据量加大)

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼

题目传送门

#include<iostream>
#include <algorithm>
#include<cmath>
using namespace std;
long long n,k,a[1500050];
int main(){
    cin>>n>>k;
    for(long long i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+n+1);
    cout<<a[k];
    return 0;
}

30分。

请找错。

陈曦在2020-08-31 19:59:12追加了内容

@侯平仄 

 


0
已采纳
侯平仄
侯平仄
新手天翼
新手天翼

或者把cin换成scanf

0
0
侯平仄
侯平仄
新手天翼
新手天翼

那就不叫找错,叫卡常了

0
0
侯平仄
侯平仄
新手天翼
新手天翼

快读代码:

inline int read()
{
    register int x = 0 , ch = getchar();
    while( !isdigit( ch ) ) ch = getchar();
    while( isdigit( ch ) ) x = x * 10 + ch - '0' , ch = getchar();
    return x;
}

用法:

输入a[i],可以这么用:

a[i]=read()

0
张岳恒
张岳恒
资深光能
资深光能

是不是STLsort被卡了?试试手写sort

张岳恒在2020-08-31 21:23:43追加了内容

手写sort 90,我来把它改成scanf试试

张岳恒在2020-08-31 21:33:48追加了内容

AC

正解手写sort+快读玄学算法(

0
黄子扬
黄子扬
初级天翼
初级天翼

反驳二位观点

n<=1500000

你写个啥sort

除非发明出O(n) sort(大雾

卡常也没用啊

当然 如果你有铃酱 O(n^2 log n)过 O(n log n)的卡常技术,可以试试((强行卡掉一个n

0
黄依成
黄依成
中级天翼
中级天翼

STL库里有一个神奇的东西:nth_element

其他百度吧(我也说不清),应该能过

0
赵逸凡
赵逸凡
初级启示者
初级启示者

sort+二分吧,玄学似乎能过

我要回答