zoukankan      html  css  js  c++  java
  • 数据结构/PTA-寻找大富翁/排序

    7-17 寻找大富翁 (25分)

    胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。

    输入格式:

    输入首先给出两个正整数N(106​​)和M(10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。

    输出格式:

    在一行内按非递增顺序输出资产排前M位的大富翁的个人资产值。数字间以空格分隔,但结尾不得有多余空格。

    输入样例:

    8 3
    8 12 7 3 20 9 5 18

    输出样例:

    20 18 12
    #include<bits/stdc++.h>
    using namespace std;
    const int y=1000006;
    
    struct million
    {
        int m;
    } r[y];
    
    bool judge(million a,million b)
    {
        return a.m>b.m;
    }
    int main()
    {
        int a,b;
         scanf("%d %d", &a, &b);     //输入人数和排名
        b=min(a,b);
        int i;
        for(i=0; i<a; i++) //输入所有人
        {
              scanf("%d", &r[i].m);
        }
    
        sort(r,r+y,judge);//排序
    
    
        printf("%d",r[0].m);//按排名输出
        for(i=1; i<b; i++)
        {
            printf(" %d",r[i].m);
        }
    }
     
  • 相关阅读:
    散列函数之单散列算法
    NET 使用 RabbitMQ
    leetCode
    Swift 1
    C#并发集合
    多进程与多线程1
    开发编译器
    APUE1
    微服务架构
    ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
  • 原文地址:https://www.cnblogs.com/elegantcloud/p/14019125.html
Copyright © 2011-2022 走看看