码迷,mamicode.com
首页 > 编程语言 > 详细

金块问题-排序-找最大最小

时间:2016-07-31 23:58:37      阅读:621      评论:0      收藏:0      [点我收藏+]

标签:

问题 D: 金块问题

时间限制: 1 Sec  内存限制: 64 MB
提交: 18  解决: 17
[提交][状态][讨论版]

题目描述

一个老板有一袋金块,里面有n块金子。每个月,老板会从袋子中拿出两个金块奖励两名期雇员。按规矩,最优秀的雇员将得到袋中最重的金块,排名第二的雇员将得到袋中最轻的金块。周期性地往袋中加入新的金块,那么每个月他都要找出最重和最轻的金块。假设有一台比较质量的仪器,我们希望用尽量少的比较次数找出最重和最轻的金块。

输入

第1行只有一个整数n(2≤n≤100000)。
第2行n个长整型范围内的整数,每个整数之间用一个空格隔开,表示每块金子的质量。

输出

输出两个用空格分开的整数,表示最重和最轻的金块的质量。

样例输入

8
10 8 2 4 5 3 9 1

样例输出

10 1

代码:

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    long int n;
    long int maxx=0,minn=100000;
    long int a[100000];
    while(~scanf("%ld",&n)&&n){
        for(int i=0;i<n;i++){
            scanf("%d",&a[i]);
            if(a[i]>=maxx){
                maxx=a[i];
            }
            if(a[i]<minn){
                minn=a[i];
            }
        }
        printf("%d %d",maxx,minn);

    }
    return 0;
}

 

金块问题-排序-找最大最小

标签:

原文地址:http://www.cnblogs.com/TWS-YIFEI/p/5724194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!