总时间限制:10000ms单个测试点时间限制:1000ms内存限制:65536kB描述
给定一个数组,统计前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
1 #include<iostream>
2 #include<algorithm>
3 using namespace std;
4 long long int a[100000000];
5 int n,m;
6 int comp(const int &a,const int &b)
7 {
8 return a>b;
9 }
10 int main()
11 {
12 cin>>n;
13 for(int i=1;i<=n;i++)
14 cin>>a[i];
15 cin>>m;
16 sort(a+1,a+n+1,comp);
17 for(int i=1;i<=m;i++)
18 {
19 cout<<a[i]<<endl;
20 }
21 return 0;
22 }