生日礼物

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有 NN 个,分为 KK 种。简单的说,可以将彩带抽象为一个 x 轴,每一个彩珠有一个对应的坐标(即位置)。某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一个位置上。

小布的生日快到了,于是小西打算剪一段彩带送给小布。为了让礼物彩带足够漂亮,小西希望这一段彩带中能包含所有种类的彩珠。同时,为了方便,小西希望这段彩带尽可能短,你能帮助小西计算这个最短的长度么?

彩带的长度即为彩带开始位置到结束位置的位置差。

输入格式

第一行包含两个整数 N,KN, K,分别表示彩珠的总数以及种类数。

接下来 KK 行,每行第一个数为 TiT_i,表示第 ii 种彩珠的数目。

接下来按升序给出 TiT_i 个非负整数,为这 TiT_i 个彩珠分别出现的位置。

输出格式

输出应包含一行,为最短彩带长度。

6 3
1 5
2 1 7
3 1 3 8
3

说明/提示

样例说明

有多种方案可选,其中比较短的是 151 \sim 5585 \sim 8。后者长度为 33,更短,故答案为 33

数据范围

对于 50%50\% 的数据,N104N \le 10^4

对于 80%80\% 的数据,N8×105N \le 8 \times 10^5

对于 100%100\% 的数据,1N106,1K601 \le N \le 10^6, 1 \le K \le 6000 \le 珠子位置 <231< 2^{31},且 Ti=N\sum T_i = N

队列、单调队列、优先队列

Not Claimed
Status
Done
Problem
18
Open Since
2025-4-19 8:15
Deadline
2025-5-31 23:59
Extension
24 hour(s)