新算法(洛谷P1923求第 k 小的数)
题目来源:https://www.luogu.com.cn/problem/P1923
nth_element(a,a+k,a+n),所有a+k左边的都比它小(但不一定单调),所有右边的都比它大。这道题算是模板,不用stl的话可以用快排思想
耗时:cin > scanf > getchar,超时逐级改
(O(n)优化+cincout输入输出优化)
int a[5000005]; int main() { int n,k; 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]); }

浙公网安备 33010602011771号