#ATagc055e. [AGC055E] Set Merging

[AGC055E] Set Merging

题目描述

NN 个集合 S1,S2,,SNS_1, S_2, \ldots, S_N。初始时,对于每个 1iN1 \leq i \leq N,集合 SiS_i 只包含整数 ii(即 Si={i}S_i = \{i\})。

你可以进行如下操作:

  • 任意选择一个满足 1iN11 \leq i \leq N-1ii,令 U=SiSi+1U = S_i \cup S_{i+1}(即 SiS_iSi+1S_{i+1} 的并集)。然后,将 SiS_iSi+1S_{i+1} 都替换为 UU

你的目标是通过有限次操作(可以为 00 次),使得对于所有 1iN1 \leq i \leq N,都有 Si={Li,Li+1,,Ri1,Ri}S_i = \{L_i, L_i+1, \ldots, R_i-1, R_i\}。请判断是否可以达到目标状态。如果可以,请求出所需的最小操作次数。

输入格式

输入以如下格式从标准输入读入。

NN L1L_1 R1R_1 L2L_2 R2R_2
\vdots
LNL_N RNR_N

输出格式

如果可以达到目标状态,输出所需的最小操作次数。否则,输出 1-1

样例 1

输入

3
1 2
1 2
1 3

输出

-1

样例 2

输入

4
1 3
1 4
1 4
2 4

输出

4

说明/提示

限制条件

  • 1N5×1051 \leq N \leq 5 \times 10^5
  • 1LiRiN1 \leq L_i \leq R_i \leq N

样例解释 1

可以证明无法达到目标状态。

样例解释 2

可以按如下方式进行操作达到目标状态:

  • 选择 i=2i = 2,此时 $S\_1 = \{1\}, S\_2 = \{2, 3\}, S\_3 = \{2, 3\}, S\_4 = \{4\}$。
  • 选择 i=1i = 1,此时 $S\_1 = \{1, 2, 3\}, S\_2 = \{1, 2, 3\}, S\_3 = \{2, 3\}, S\_4 = \{4\}$。
  • 选择 i=3i = 3,此时 $S\_1 = \{1, 2, 3\}, S\_2 = \{1, 2, 3\}, S\_3 = \{2, 3, 4\}, S\_4 = \{2, 3, 4\}$。
  • 选择 i=2i = 2,此时 $S\_1 = \{1, 2, 3\}, S\_2 = \{1, 2, 3, 4\}, S\_3 = \{1, 2, 3, 4\}, S\_4 = \{2, 3, 4\}$。

由 ChatGPT 4.1 翻译