• 1034.寻找大富翁


    题目描述:
        浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
    输入:
        输入包含多组测试用例.
        每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: n为镇上的人数,m为需要找出的大富翁数, 接下来一行输入镇上n个人的财富值.
        n和m同时为0时表示输入结束.
    输出:
        请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.
    样例输入:
    3 1
    2 5 -1
    5 3
    1 2 3 4 5
    0 0
    样例输出:
    5
    5 4 3
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    int main(){
        int i,n,m;
        int a[100001];
        while(cin>>n>>m){
            if(n==0 && m==0) break;
            for(i=0;i<n;i++){
                cin>>a[i];
            }
            sort(a,a+n);
            bool first=true;
            if(n<=m){
                for(i=n-1;i>=0;i--){
                    if(first) {
                        first=false;
                        cout<<a[i];
                    }
                    else cout<<" "<<a[i];
                }
                cout<<endl;
            }
            else {
                for(i=n-1;m>0;m--){
                    if(first){
                        first=false;
                        cout<<a[i];
                    }
                    else cout<<" "<<a[i];
                    i--;
                }
                cout<<endl;
            }
        }
        return 0;
    } 
  • 相关阅读:
    java基础知识——7.断点调试与数据加密
    Hibernate最基础配置的记忆方式
    Redis集群命令
    VMware Workstation下centos的使用
    Redis入门
    Shell脚本
    使用Java遇到的问题
    使用Linux
    压缩包安装MySQL服务
    安装windows+ubuntu双系统
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736577.html
Copyright © 2020-2023  润新知