求助nth_element写法

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

yzbqx @ 2023-07-03 21:22:46

这是我的

#include<bits/stdc++.h>
int a[500000010], k, n;
int main(){
    scanf("%d%d", &n, &k); for(int i(1); i <= n; i++) scanf("%d", &a[i]);
    std::nth_element(a + 1, a + k + 1, a + n + 1); printf("%d", a[k]);
    exit(0);
}

这是第二篇题解的

#include<bits/stdc++.h>
using namespace std;
long long n,k,a[5000010];
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    nth_element(a,a+k,a+n); 
    printf("%d",a[k]);
}

为什么我的代码都没有办法运行?


by Krystallos @ 2023-07-03 21:23:48

你要不看看你开了多大的数组。。。。


by Milthm @ 2023-07-03 21:24:34

5e8 的 int 数组你认真的


by yzbqx @ 2023-07-03 21:24:56

此贴终结


|