#2570. 【蓝桥杯省赛】数字游戏

【蓝桥杯省赛】数字游戏

题目描述

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

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

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

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

4.当这组数中所包含的不同的数少于 33 个时,结束调整。 现在给定了一组数,请帮小蓝编写程序计算出总共的调整次数,以及调整结束时这组数中的最小数和最大数。

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

●例2:当这组数是 1 3 4 21\ 3\ 4\ 2时,调整过程如下:

1.先将这组数中最小的数 11,改成 22,这组数变为: 2 3 4 22\ 3\ 4\ 2

2.再将这组数中最大的数 44 ,改成 33,这组数变为: 2 3 3 22\ 3\ 3\ 2

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

输入描述

第一行输入-一个正整数 N(3N1000000)N(3 \le N \le 1000000) ,表示这组数中数的个数;第二行输入 NN 个正整数 (1正整数1000000)(1 \le 正整数 \le 1000000),正整数之间用一个空格隔开。

输出描述

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

样例

4
1 3 4 2
2 2 3
11
1 1 1 2 2 3 3 3 3 3 3 
5 2 3
10
1 1 1 1 1 1 2 3 4 4
10 1 2