Descripción
Hay n personas en Wuzhen, Tongxiang, Zhejiang, por favor encuentre a los mejores hombres ricos de la ciudad.
Entrada
La entrada contiene múltiples conjuntos de casos de prueba.
Cada caso de uso primero contiene 2 enteros n (0 <n <= 100000) ym (0 <m <= 10), donde: n es el número de personas en la ciudad ym es lo que necesita ser encontrado El número de millonarios, ingrese el valor de riqueza de n personas en la ciudad en la siguiente línea. Cuando tanto
n como m son 0, significa el final de la entrada.
Salida
Indique el número de propiedades de los primeros m hombres ricos en Wuzhen. Si hay menos de m hombres ricos, se generarán todos. Cada grupo de resultados ocupará una fila.
Entrada de muestra
3 1 2 5 -1 5 3 1 2 3 4 5 0 0
Salida de muestra
5 5 4 3
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
bool cmp(int a, int b){
return a > b;
}
int a[100005];
int main()
{
int n, m;
while (~scanf("%d %d", &n, &m) && !(n==0&&m==0)){
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
if (n > m){
for (int i = 0; i < m; i++)
for (int j = i+1; j < n; j++)
if (a[i] < a[j])
swap(a[i], a[j]);
printf("%d", a[0]);
for (int i = 1; i < m; i++)
printf(" %d", a[i]);
} else {
sort(a, a+n, cmp);
printf("%d", a[0]);
for (int i = 1; i < n; i++)
printf(" %d", a[i]);
}
printf("\n");
}
return 0;
}