#947. [蓝桥杯省赛]数字游戏

[蓝桥杯省赛]数字游戏

题目描述

老师给出了一组数,要求小蓝对这组数进行调整,调整的规则如下:

1.第 1 次,从这组数中选出一个最小的数,把它调整为和第二小的数一样大;

2.第 2 次,再从这组数中选出一个最大的数,把它调整为和第二大的数一样大;

3.重复执行 1、2 步骤;

4.当这组数中所包含的不同的数少于 3 个时,结束调整。

现在给定了一组数,请帮小蓝编写程序计算出总共的调整次数,以及调整结束时这组数中的最小数和最大数。

例1: 当这组数是2 2 2 2时,这组数中所包含的不同的数少于3个(只有2这一种数),无需调整,最后输出: 0 2 2

例2: 当这组数是1 3 4 2时,调整过程如下: 1.先将这组数中最小的数1,改成2,这组数变为:2 3 4 2

2.再将这组数中最大的数4,改成3,这组数变为:2 3 3 2

这时,这组数中只包含2、3两个数了,满足规则4,调整结束,总共调整了2次,故最后输出: 2 2 3

输入

  • 第一行是一个正整数 N (3 ≤ N ≤ 1,000,000),表示这组数的个数。
  • 第二行是 N 个正整数 (1 ≤ 正整数 ≤ 1,000,000),正整数之间用空格隔开。

输出

  • 输出一行,包含三个整数,分别是总的调整次数、调整结束时的最小值和最大值,整数之间用一个空格隔开。

输入样例1

4
1 3 4 2

输出样例1

2 2 3

评分标准: 8分:能正确输出第一组数据;

8分:能正确输出第二组数据;

8分:能正确输出第三组数据;

8分:能正确输出第四组数据;

8分:能正确输出第五组数据;

8分:能正确输出第六组数据;

8分:能正确输出第七组数据;

8分:能正确输出第八组数据;

8分:能正确输出第九组数据;

8分:能正确输出第十组数据。