Vjudge攻略——ACdream-1099

来源:互联网 发布:淘宝网情侣装dongji 编辑:程序博客网 时间:2024/06/06 04:07

这道题看起来简单,实则不易,对时间复杂度要求极高,需要优化输出(字符输入)和排序(方法:快速排序;范围:部分排序)。下面是我写的:

#include<cstdio>#include<ctype.h>#include<algorithm>using namespace std;int a[5000000];void get(int &x){    char c;    x = 0;    while(isdigit(c = getchar()))x *= 10, x += c - '0';}int main(){    int n, k;    scanf("%d%d", &n, &k);    for(int i = 0; i < n; i++)    get(a[i]);    nth_element(a , a + n - k, a + n);    printf("%d\n", a[n - k]);    return 0;}

本人刚学习C++不久,如果有不太规范的地方,还请见谅。

原创粉丝点击