OpenJ_Bailian 7617 输出前k大的数

题目传送门 OpenJ_Bailian 7617

描述

给定一个数组,统计前k大的数并且把这k个数从大到小输出。

输入

第一行包含一个整数n,表示数组的大小。n < 100000。
第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。
第三行包含一个整数k。k < n。

输出

从大到小输出前k大的数,每个数一行。

样例输入

10
4 5 6 9 8 7 1 2 3 0
5

样例输出

9
8
7
6
5

解题思路:
  emmmmm直接sort排序然后输出就过了,偷懒了偷懒了

#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 100100;
int a[N];
int main()
{
    int n,k;
    scanf("%d",&n);
    for (int i=0;i<n;i++)
        scanf("%d",&a[i]);
    scanf("%d",&k);
    sort(a,a+n);
    for (int i=n-1;k;i--,k--)
        printf("%d\n",a[i]);
    return 0;
}
sort


猜你喜欢

转载自www.cnblogs.com/l999q/p/9363196.html