QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#19052. サイコロの塔

Statistics

Sanghun は $N$ 個の立方体のサイコロを持っています。順にサイコロ $1$、サイコロ $2$、$\ldots$、サイコロ $N$ と呼びます。

すべてのサイコロの各面には $1$ 以上 $6$ 以下の整数が一つ書かれています。同じサイコロの異なる面の数字は必ず異なり、向かい合う二面の数字の和は必ず $7$ です。

Sanghun は $N$ 個のサイコロで塔を作ろうとしています。具体的な手順は次のとおりです。

  1. $N$ 個のサイコロをすべて床に転がします。

  2. 各サイコロの上面の数字を記録します。サイコロ $1$ から $N$ の順に $A_1,A_2,\ldots,A_N$ とします。

  3. 床のサイコロから一つ以上を選び、机の上に新しい塔を一つ作ります。床から持ち上げて移動できますが、向きを変えてはいけません。選んだサイコロを積む順序は自由ですが、すべて鉛直方向に一列に積む必要があります。接する二面の数字は等しくなければなりません。

  4. 床にサイコロが残らなくなるまで手順 3 を繰り返します。

例えば、次のように進められます。

  1. Sanghun が床に四つのサイコロを転がしたところ、サイコロ $1$ から $4$ の上面の数字はそれぞれ $3,3,5,4$ でした。

  2. Sanghun は床からサイコロ $1$、$2$、$4$ を選び、下から $1$、$4$、$2$ の順に積みました。サイコロ $1$ の上面と $4$ の下面にはともに $3$ が書かれ、この二面が接しています。また、サイコロ $4$ の上面と $2$ の下面にはともに $4$ が書かれ、この二面が接しています。

  3. Sanghun は床に残ったサイコロ $3$ を選び、一つだけからなる塔を作りました。

  4. 床にサイコロがなくなったので終了します。Sanghun は合計二つの塔を作りました。

Sanghun は積み方を適切に選んで塔の数を最小化したいと考えています。$N$ 個のサイコロを転がした後の各上面の数字が与えられたとき、塔の数の最小値を求めてください。

制約

  • 与えられる数はすべて整数です。

  • $2\le N\le200\,000$。

  • $1\le i\le N$ を満たす各整数 $i$ について $1\le A_i\le6$。

小課題

1.(8 点)$N=2$。

2.(28 点)上面の数字は $3$ または $4$ です。すなわち、$1\le i\le N$ を満たす各整数 $i$ について $A_i=3$ または $A_i=4$ です。

3.(31 点)異なる任意の整数 $x,y$($1\le x,y\le6$)について、上面が $x$ のサイコロの数と上面が $y$ のサイコロの数は異なります。

4.(33 点)追加の制約はありません。

入力

最初の行に整数 $N$ が与えられます。

次の行に $N$ 個の整数 $A_1,A_2,\ldots,A_N$ が順に空白区切りで与えられます。

出力

最初の行に、Sanghun が積み方を適切に選んだときに作る塔の数の最小値を出力してください。

入出力例

入力 1

4
3 3 5 4

出力 1

2

入力 2

2
3 4

出力 2

1

入力 3

5
1 1 6 1 1

出力 3

3

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.