问题 A: 求第k大数
时间限制: 1 Sec 内存限制: 128 MB
提交: 483 解决: 172
[提交][状态][讨论版][命题人:外部导入]
题目描述
求第k大的数
(Kth.pas/c/cpp)
给定一个长度为n(1≤n≤1,000,000)的无序正整数序列,以及另一个数k(1≤k≤1,000,000)(关于第k大的数:例如序列{1,2,3,4,5,6}中第3大的数是4。)
输入
第一行两个正整数m,n。
第二行为n个正整数。
输出
第k大的数。
样例输入
6 3
1 2 3 4 5 6
样例输出
4
自己代码:
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main() {
int m, n;
static int a[1000000];
while (scanf("%d%d", &m, &n) != EOF) {
for (int i = 0; i < m; i++) {
scanf("%d", &a[i]);
}
sort(a,a+m);
printf("%d\n", a[m - n]);
}
system("pause");
return 0;
}