#include<bits/stdc++.h>//万能头文件
using namespace std;
int main(){
int n,m,a[5000000];//定义数组、变量
cin>>n>>m;//输入n、k
for(int i=0;i<n;i++){
cin>>a[i];//输入数据,在这会TLE
}
sort(a,a+n);//排序
cout<<a[m];//输出
return 0;//返回0
}
TLE后的我看了看题解,不错。
都是nth_element或分治。
我就想能不能用字符串提取数字来做
然后——输出只有0;
就想求助一下(别骂,谢谢)
#include<bits/stdc++.h>
using namespace std;
int main(){
int b[5000000];
int n,k,sum,g,t;
double ant=0;
cin>>n>>k;
char a[99999999];
gets(a);
for(int i=0;i<n+n+1;i++){
if(a[i]==' '){
for(int q=sum+1;q<i;q++){
g=pow(10,i-sum);
t=a[q];
ant+=t%g;
sum++;
}
sum++;
}
}
sort(b,b+n);
cout<<b[k];
}