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

<center>

问题 D: 金块问题

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

题目描述

一个老板有一袋金块,里面有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;
}

 

全部评论

相关推荐

寿命齿轮:实习就一段还拉了,项目一看就不是手搓,学历也拉了,技术栈看着倒是挺好,就是不知道面试表现能咋样。 不过现在才大三,争取搞两端大厂实习,或者一个纯个人项目+一段大厂,感觉秋招还是未来可期。
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务