1. 程式人生 > >ocrosoft Contest1316 - 信奧編程之路~~~~~第三關 問題 I: 尋找大富翁

ocrosoft Contest1316 - 信奧編程之路~~~~~第三關 問題 I: 尋找大富翁

EDA 第三關 using cpp print int ocr mes name

http://acm.ocrosoft.com/problem.php?cid=1316&pid=8

題目描述

浙江杭州某鎮共有n個人,請找出該鎮上的前m個大富翁.

輸入

輸入包含多組測試用例.
每個用例首先包含2個整數n(0<n<=100000)和m(0<m<=10),其中: n為鎮上的人數,m為需要找出的大富翁數, 接下來一行輸入鎮上n個人的財富值.
n和m同時為0時表示輸入結束.

輸出

請輸出烏鎮前m個大富翁的財產數,財產多的排前面,如果大富翁不足m個,則全部輸出,每組輸出占一行.

樣例輸入

3 1
1 6 2
5 3
2 3 4 5 6
0 0

樣例輸出

6
6 5 4

代碼:

#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e5 + 10;
int N, M;
double num[maxn];

bool cmp(int x, int y) {
    return x > y;
}

int main() {
    while(~scanf("%d%d", &N, &M)) {
        if(!N && !M) break;
        for(int i = 1; i <= N; i ++)
            scanf("%lf", &num[i]);
        sort(num + 1, num + 1 + N, cmp);

        for(int i = 1; i <= M; i ++) {
            cout << num[i];
            printf("%s", i != M ? " " : "\n");
        }
    }
    return 0;
}

  

ocrosoft Contest1316 - 信奧編程之路~~~~~第三關 問題 I: 尋找大富翁