本文主要是介绍hdu——3785——寻找大富翁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem Description浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
Input
输入包含多组测试用例.
每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: n为镇上的人数,m为需要找出的大富翁数, 接下来一行输入镇上n个人的财富值.
n和m同时为0时表示输入结束.
Output
请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.
Sample Input
3 1
2 5 -1
5 3
1 2 3 4 5
0 0
5
5 4 3
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int M=100005;
int a[M];
int cmp(int a,int b)
{return a>b;
}
int main()
{int n,m;while(scanf("%d%d",&n,&m)){if(n==0&&m==0)return 0;for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n,cmp);for(int i=0;i<n;i++){if(i==m-1){printf("%d\n",a[i]);break;}elseprintf("%d ",a[i]);}}return 0;
}
这篇关于hdu——3785——寻找大富翁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!