[蓝桥杯青少年组省赛 2023] 数字游戏

Luogu
IDLGB4274
Time1000ms
Memory512MB
DifficultyP4
2023前缀和蓝桥杯青少年组
老师给出了一组数,要求小蓝对这组数进行调整,调整的规则如下: 1. 第 $1$ 次,从这组数中选出一个最小的数,把它调整为和第二小的数一样大; 2. 第 $2$ 次,再从这组数中选出一个最大的数,把它调整为和第二大的数一样大; 3. 重复执行 $1$、$2$ 步骤; 4. 当这组数中所包含的不同的数少于 $3$ 个时,结束调整。 现在给定了一组数,请帮小蓝编写程序计算出总共的调整次数,以及调整结束时这组数中的最小数和最大数。 **例 1:** 当这组数是 $2,2,2,2$ 时,这组数中所包含的不同的数少于 $3$ 个(只有 $2$ 这一种数),无需调整,最后输出: $$\boxed{0\quad 2\quad 2}$$ **例 2:** 当这组数是 $1,3,4,2$ 时,调整过程如下: 1. 先将这组数中最小的数 $1$,改成 $2$,这组数变为:$2,3,4,2$; 2. 再将这组数中最大的数 $4$,改成 $3$,这组数变为:$2,3,3,2$; 这时,这组数中只包含 $2$、$3$ 两个数了,满足规则 $4$,调整结束,总共调整了 $2$ 次,故最后输出: $$\boxed{2\quad 2\quad 3}$$ ## Input 第一行输入一个正整数 $N$($3 \leq N \leq 10^6$),表示这组数中数的个数。 第二行输入 $N$ 个正整数($1 \leq$ 输入的正整数 $\leq 10^6$),正整数之间用一个空格隔开。 ## Output 输出一行,包含三个整数,分别是总的调整次数、调整结束时的最小值和最大值,整数之间用一个空格隔开。 [samples] ## Background 我觉得这题数据造的可能有问题,欢迎贡献正确的 std 和更强的数据。
Samples
Input #1
4
1 3 4 2
Output #1
2 2 3
API Response (JSON)
{
  "problem": {
    "name": "[蓝桥杯青少年组省赛 2023] 数字游戏",
    "description": {
      "content": "老师给出了一组数,要求小蓝对这组数进行调整,调整的规则如下:   1. 第 $1$ 次,从这组数中选出一个最小的数,把它调整为和第二小的数一样大;   2. 第 $2$ 次,再从这组数中选出一个最大的数,把它调整为和第二大的数一样大;   3. 重复执行 $1$、$2$ 步骤;   4. 当这组数中所包含的不同的数少于 $3$ 个时,结束调整。   现在给定了一组数,请帮小蓝编写程序计算出总共的",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P4"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4274"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "老师给出了一组数,要求小蓝对这组数进行调整,调整的规则如下:  \n1. 第 $1$ 次,从这组数中选出一个最小的数,把它调整为和第二小的数一样大;  \n2. 第 $2$ 次,再从这组数中选出一个最大的数,把它调整为和第二大的数一样大;  \n3. 重复执行 $1$、$2$ 步骤;  \n4. 当这组数中所包含的不同的数少于 $3$ 个时,结束调整。  \n\n现在给定了一组数,请帮小蓝编写程序计算出总共的...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments