zoukankan      html  css  js  c++  java
  • ZZNU 次小次大值(有坑点不能简单地排序一下,直接查靠谱)

    C : 次小次大值

     
    Progress Bar

    时间限制:0 Sec 内存限制:0 MiB
    提交:782 答案正确:166

     

     


    题目描述

    小A:小B你会唱小星星么;

    小B:一闪一闪亮晶晶,很简单的了;

    小A:那你会找一个数列的最大最小值么?
    小B:当然了,很简单了。我还会找次小值次大值呢?
    小A:次小次大值?
    小B:次小值是比最小值大,除去最小值剩下的数列的最小值。次大值同理。但是如果没有次小值,次小值则为最小值加一,同理如果没有次大值,次大值则最大值减一;
    小A:...

    输入

    输入在第一行给出一个正整数n(0<n<100)。第二行给出n个整数(均属于int)(迷茫的小A提醒你,这是个多实例哟)

    输出

    输出这个数列的次小值和次大值(中间空格隔开,输出占一行)

    样例输入

    复制
    5
    1 2 3 4 5

    样例输出

    复制
    2 4
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #define inf 0x3f3f3f3f
    
    // 次小次大值不能和最小最大值相等
    int main()
    {
        int n,Fmax,Fmin,Smax,Smin,x;
        while(~scanf("%d",&n))
        {
            Fmax=Smax=-inf;
            Fmin=Smin=inf;
            while(n--)
            { 
                scanf("%d",&x);
                if(x>Fmax)
                {
                    Smax=Fmax;
                    Fmax=x;
                }
                else if(x>Smax&&x!=Fmax)
                {
                    Smax=x;
                }
                if(x<Fmin)
                {
                    Smin=Fmin;
                    Fmin=x;
                }
                else if(x<Smin&&x!=Fmin)
                {
                    Smin=x;
                }
            }
            printf("%d %d
    ",Smin!=inf ? Smin : Fmin+1,Smax!=-inf ? Smax : Fmax-1);
        }
        return 0;
    }
  • 相关阅读:
    b_lc_数组的最大公因数排序(并查集+质因数分解优化)
    Coggle 30 Days of ML:结构化赛题:天池二手车交易价格预测(二)
    Coggle 30 Days of ML:结构化赛题:天池二手车交易价格预测(一)
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
  • 原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/9065171.html
Copyright © 2011-2022 走看看