#P17193. [KOI 2026 #2] 搭骰子塔

[KOI 2026 #2] 搭骰子塔

题目描述

相勋有 NN 个正六面体骰子。依次将它们称为第 11 个骰子、第 22 个骰子、……、第 NN 个骰子。

每个骰子的六个面上各写有一个 1166 之间的整数。同一个骰子任意两个不同的面上所写的数都不同,且任意两个相对的面上所写的数之和恒为 77

相勋打算使用这 NN 个骰子搭建骰子塔。具体过程如下:

  1. 将全部 NN 个骰子掷到地面上。
  2. 记录每个骰子顶面所写的数。按照第 11 个骰子到第 NN 个骰子的顺序,将顶面所写的数记为 A1,A2,,ANA_1,A_2,\cdots,A_N
  3. 从仍留在地面上的骰子中选择至少一个,在桌面上搭成一座新的塔。可以从地面上拿起骰子,但不能改变骰子的朝向。所选骰子的排列顺序可以任意确定,并且必须将这些骰子全部竖直地叠成一列。此时,任何两个相接触的面上所写的数必须相同。
  4. 重复步骤 3,直到地面上不再剩下骰子。

例如,搭建骰子塔的过程可以如下进行:

  1. 相勋将地面上的 44 个骰子掷出,第 11 个到第 44 个骰子的顶面数字依次为 3,3,5,43,3,5,4
  2. 相勋从地面上选择第 11、第 22、第 44 个骰子,然后按照从下到上第 11、第 44、第 22 个骰子的顺序搭成一座塔。第 11 个骰子的底面与第 44 个骰子的顶面上均写有 33,因此这两个面能够相接触。此外,第 44 个骰子的底面与第 22 个骰子的顶面上均写有 44,因此这两个面也能够相接触。
  3. 相勋选择地面上剩余的第 33 个骰子,搭成一座仅由一个骰子组成的塔。
  4. 地面上已没有剩余骰子,因此搭建骰子塔的过程结束。相勋总共搭出了 22 座塔。

相勋希望合理决定搭塔方式,使最终建成的塔数最少。给定掷出 NN 个骰子后各骰子顶面所写的数,请求出最终塔数的最小值。

输入格式

第一行给出整数 NN

第二行依次给出 NN 个以空格分隔的整数 A1,A2,,ANA_1,A_2,\cdots,A_N

输出格式

第一行输出相勋合理决定搭塔方式后,最终能够建成的塔数的最小值。

4
3 3 5 4
2
2
3 4
1
5
1 1 6 1 1
3

提示

限制条件

  • 给出的所有数均为整数。
  • 2N2000002 \le N \le 200\,000
  • 对于每个整数 ii1iN1 \le i \le N),1Ai61 \le A_i \le 6

子任务

  1. 88 分)N=2N=2
  2. 2828 分)骰子顶面所写的数为 3344。也就是说,对于每个整数 ii1iN1 \le i \le N),Ai=3A_i=3Ai=4A_i=4
  3. 3131 分)对于任意两个互不相同的整数 x,yx,y1x,y61 \le x,y \le 6),顶面写有 xx 的骰子数与顶面写有 yy 的骰子数互不相同。
  4. 3333 分)没有额外限制。

翻译由 ChatGPT-5.6 完成