#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>//pow,sqrt,ceil,floor,abs
#include<algorithm>//equal、swap、sort、min、max
#include<string>
#include<ctype.h>
#include<string.h>//相当于cstring,处理char *s
#include<vector>//当数组
#include<stack>
#include<queue>
#include<map>
#include<set>
//system("pause");
using namespace std;
/*
给你n个整数,请按从大到小的顺序输出其中前m大的数。
Input
每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
Output
对每组测试数据按从大到小的顺序输出前m大的数。
Sample Input
5 3
3 -35 92 213 -644
Sample Output
213 92 3
Hint
请用VC/VC++提交
*/
//注意:在编译工具添加这个 -std=c++11
int cmp(int x,int y) {
return x>y;
}
int main() {
int n,m;
while(cin>>n>>m) {
int *a = (int *)malloc(n*sizeof(int));
for(int i=0;i<n;i++) {
scanf("%d",&a[i]);
}
sort(a,a+n,cmp);
for(int i=0;i<m-1;i++) {
printf("%d ",a[i]);
}
printf("%d\n",a[m-1]);
}
return 0;
}
STL_A
最新推荐文章于 2022-03-17 12:00:00 发布