数据结构实验之排序四:寻找大富翁

Time Limit: 200MS  Memory Limit: 512KB
Submit  Statistic

Problem Description

2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。

Input

首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要找出的大富翁数目,接下来给出N个人的个人资产,以万元为单位,个人资产数字为正整数,数字间以空格分隔。

Output

一行数据,按降序输出资产排前M位的大富翁的个人资产值,数字间以空格分隔,行末不得有多余空格。

Example Input

6 3
12 6 56 23 188 60

Example Output

188 60 56

Hint

请用堆排序完成。

Author

xam

要求用堆排,就用堆排啊。

先传个头像以示敬意,哈哈咳~哈哈哈~

正文:::

#include <iostream>//头文件别写多咯!!防止超时

using namespace std;

int heap[12], n, m;

void cheap(int l, int r)//建立一个堆~
{
    int j = 2*l;
    while(j<=r)
    {
        if(j<r && heap[j]<heap[j+1])//大根~保证堆的右下角是最小的数~~~
        {
            int k = heap[j];
            heap[j] = heap[j+1];
            heap[j+1] = k;
        }
        if(heap[j]>heap[l])//调整位置
        {
            *heap = heap[j];
            heap[j] =heap[l];
            heap[l] = *heap;
            l = j;
            j *= 2;
        }
        else break;
    }
}
int main()
{
    cin.sync_with_stdio(false);取消*************,也是防止超时,不懂的自行百度
    while(cin>>n>>m)
    {
        int i;
        for(i = 1;i<=m;i++)
            cin>>heap[i];
        for(i = m/2;i>=1;i--)
            cheap(i, m);
        for(i = m+1;i<=n;i++)
        {
            int k;
            cin>>k;
            if(k>heap[m])
            {
                heap[m] = k;
                for(int j = m/2; j>=1;j--)
                    cheap(j, m);
            }
        }
        for(i = 1;i<m;i++)
            cout<<heap[i]<<' ';
        cout<<heap[m]<<endl;
    }
    return 0;
}

数据结构实验之排序四:寻找大富翁__咳咳咳,还魂篇!!相关推荐

  1. 数据结构实验之排序四:寻找大富翁 SDUT

    数据结构实验之排序四:寻找大富翁 SDUT Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Problem Description ...

  2. D - 数据结构实验之排序四:寻找大富翁

    Description 2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁. Input 首先输入两个正整数N ...

  3. 数据结构实验之排序四:寻找大富翁

    题目描述 2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁. 输入 首先输入两个正整数N( N ≤ 10^6 ...

  4. SDUT OJ 数据结构实验之排序一:一趟快排

    数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  5. SDUT_2119 数据结构实验之链表四:有序链表的归并

    点击打开链接 数据结构实验之链表四:有序链表的归并 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  6. SDUT OJ 数据结构实验之链表四:有序链表的归并

    数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...

  7. SDUT 3400 数据结构实验之排序三:bucket sort

    数据结构实验之排序三:bucket sort Time Limit: 150MS Memory Limit: 65536KB Submit Statistic Problem Description ...

  8. 数据结构实验之栈四:括号匹配

     数据结构实验之栈四:括号匹配 Description 给你一串字符,不超过50个字符,可能包括括号.数字.字母.标点符号.空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配. Inp ...

  9. 数据结构实验之排序七:选课名单

    数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 随着学校规模 ...

最新文章

  1. HP380G7服务器安装fedaro16的问题解决
  2. 编程第一个Apple Watch程序创建项目
  3. 面向对象的设计模式及魔术函数
  4. Android 12正式发布:安卓历史最大设计变化、更流畅了!
  5. 计算机视觉编程——增强现实基础
  6. 启动docker容器时报错:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT -
  7. hibernate课程 初探单表映射1-4 hibernate开发前准备
  8. python 嵌套型partials(nested partials)的使用
  9. Apache Flink 进阶入门(二):Time 深度解析
  10. 【Python数据分析】数据预处理1——数据清洗
  11. vue组件制作专题 - (mpvue专用)在mpvue中纯自己写css实现简单左右轮播
  12. 分享三:mysql跨库查询
  13. 前端绝对路径不显示图片_[锋利web前端开发]sass小技巧图片版本号和绝对路径引用...
  14. 文本推理_基于事理图谱的文本推理
  15. 随机过程中均值、方差、协方差和相关函数的计算
  16. python爬虫-破解验证码(封装超级鹰实现)
  17. 如何从零开始刷力扣算法题--2020年12月中旬
  18. ubuntu14.04安装360随身wifi 2代
  19. ubantu apt命令失败
  20. Pipline 中的Hazard, Forwarding, Stall, Flush和其他

热门文章

  1. 九度1031 xxx定律
  2. PCB学习笔记——如何从原理图生成PCB图
  3. gamestream打不开解决方法
  4. (四)Gluster 配置
  5. 小体积台式计算机,小体积办公精锐,它成商用台式电脑安心之选?小巧却功能强大...
  6. ppt模板 免费下载
  7. 技术详设文档化的重要性
  8. TCP百万并发服务器优化调参
  9. Java中的构造器的作用?(构造方法的作用与特点)
  10. CF1550F Jumping Around 题解