zoukankan      html  css  js  c++  java
  • BOJ 88 最值问题

    时间限制 1000 ms 内存限制 65536 KB

    题目描述

    给出N个数,求出这N个数中最大值和次大值。注意这里的次大值必须严格小于最大值。输入保证N个数中至少存在两个不同的数。

    输入格式

    第一行为测试数据的组数T(T20)。请注意,任意两组测试数据之间是相互独立的。
    每组数据包括两行:
    第一行为一个整数N(1N1000)
    第二行为N个正整数,每个整数均不大于106

    输出格式

    每组数据输出两个数,即N个数的最大值和次大值,中间用空格隔开。

    输入样例

    2
    5
    1 2 3 4 5
    4
    2 2 2 3

    输出样例

    5 4
    3 2
    #include<iostream>
    
    using namespace std;
    
    #define MYDEBUG
    
    int main(){
        int T, N, new_num, max_num = 0, sub_max = 0;
        
    #ifdef    MYDEBUG
        freopen("88test.txt","r",stdin);
    #endif
        cin>>T;
        while(T--){
            cin>>N;
            max_num = 0;
            sub_max = 0;
        
            while(N--){
                
                cin>>new_num;
                if(new_num > max_num){
                    sub_max = max_num;
                    max_num = new_num;
                }
                else
                    sub_max = max(sub_max,new_num);
            }
            cout<<max_num<<" "<<sub_max<<endl;
                 
        }
    #ifdef DEBUG_IN
        fclose(stdin);
        freopen("CON","r",stdin);
    #endif 
        return 0;
    }

    注意点:

      比较简单,终于开始用C++~(≧▽≦)/~啦啦啦虽然还是C的风格。。。。

      核心就是比较和交换,逻辑对就O啦~

    ________你所记的,都是假的。
  • 相关阅读:
    Git Bash 下操作文件及文件夹命令
    python django -2 ORM模型
    python django -1
    redis python交互和实际例子
    MongoDB API和python操作
    python mysql 封装
    fabric 自动化部署
    linux 开机自启
    linux shell习题训练
    linux grep sed awk
  • 原文地址:https://www.cnblogs.com/pudding-ai/p/3676727.html
Copyright © 2011-2022 走看看