翻译markdown炸了,10的5次方都成了105,容易造成误导,建议修改
查看原帖
翻译markdown炸了,10的5次方都成了105,容易造成误导,建议修改
690669
Beacon_wolf楼主2024/5/25 11:28
 1≤ N ≤ 3·105

现在有 NN 个数,你的任务是将这 NN 个数尽可能切割成多段。每一段必须包括两个相同的数。

数据输入量比较大,建议使用 scanf 和 printf。

输入为单组测试数据。数据第一行为 NN (1 ≤N1 \le N ≤\le  3×1053 \times 10^5) 。

数据的第二行包括 NN 个数 aia_i (1≤ai ≤ 1091\le a_i \le 10^9) 。

输出的第一行为尽可能切割的最大段数 KK。

接下来 KK 行,每行为两个整数 ljl_j, rjr_j (1 ≤ lj ≤rj ≤ n1 \le l_j \le r_j \le n) ,表示切割的区间范围。

如果存在多个合法的切割方法,输出任意一个即可。

如果不能切割成合法的情况,输出 -1。

现在有 $N$ 个数,你的任务是将这 $N$ 个数尽可能切割成多段。每一段必须包括两个相同的数。

数据输入量比较大,建议使用 `scanf` 和 `printf`。

输入为单组测试数据。数据第一行为 $N$ ($1 \le N$ $\le$  $3 \times 10^5$) 。

数据的第二行包括 $N$ 个数 $a_i$ ($1\le a_i \le 10^9$) 。

输出的第一行为尽可能切割的最大段数 $K$。

接下来 $K$ 行,每行为两个整数 $l_j$, $r_j$ ($1 \le l_j \le r_j \le n$) ,表示切割的区间范围。

如果存在多个合法的切割方法,输出任意一个即可。

如果不能切割成合法的情况,输出 `-1`。
2024/5/25 11:28
加载中...