• 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啦~

    ________你所记的,都是假的。
  • 相关阅读:
    解析ASP.NET WebForm和Mvc开发的区别
    relink:在Linux/UNIX平台上relink Oracle软件(转)
    Java开发 Eclipse使用技巧(转)
    职场人生:情商
    RPC
    PLSQL Developer Debug
    uC/OS-III学习2::uC/OS-III LED闪烁实验
    Flex文件读取报错
    C++字节对齐问题
    写可測试的代码
  • 原文地址:https://www.cnblogs.com/pudding-ai/p/3676727.html
Copyright © 2020-2023  润新知