7-2 尋找大富翁 (25 分)


題目

點擊查看題目 胡潤研究院的調查顯示,截至2017年底,中國個人資產超過1億元的高凈值人群達15萬人。假設給出N個人的個人資產值,請快速找出資產排前M位的大富翁。

輸入格式:
輸入首先給出兩個正整數N(≤10
6
)和M(≤10),其中N為總人數,M為需要找出的大富翁數;接下來一行給出N個人的個人資產值,以百萬元為單位,為不超過長整型范圍的整數。數字間以空格分隔。

輸出格式:
在一行內按非遞增順序輸出資產排前M位的大富翁的個人資產值。數字間以空格分隔,但結尾不得有多余空格。

輸入樣例:
8 3
8 12 7 3 20 9 5 18
結尾無空行
輸出樣例:
20 18 12
結尾無空行

坑點:

當m>n時,需要改變m的值

代碼:

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

int a[1111111];
bool cmp(int a,int b){
      return a>b;
}
int main()
{
    int n,m;
    cin>>n>>m;
/****************************/
    if(n<m) m=n;
/****************************/
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    sort(a,a+n,cmp);
    for(int i=0;i<m;i++){
            if(i==m-1) cout<<a[i]<<endl;
    else
        cout<<a[i]<<" ";
    }
    return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM