#P2564. 生日礼物(Birthday Gift)

0

生日礼物(Birthday Gift)

生日礼物(Birthday Gift)

题目描述

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

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

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

输入格式

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

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

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

输出格式

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

样例输入 #1

6 3
1 5
2 1 7
3 1 3 8

样例输出 #1

3

数据范围

样例说明

有多种方案可选,其中比较短的是 1∼51 \sim 5 和 5∼85 \sim 8。后者长度为 33,更短,故答案为 33。

数据范围

对于 50%50\% 的数据,N≤104N \le 10^4;

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

对于 100%100\% 的数据,1≤N≤106,1≤K≤601 \le N \le 10^6, 1 \le K \le 60,0≤0 \le 珠子位置 <231< 2^{31},且 ∑Ti=N\sum T_i = N。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1650。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 小规模 N≤10^4 / 边界 K=1输出0 / 所有种类珠子重合于同一坐标输出0
2 15 8~11 Hack: 坐标跨度达 0 ~ 2^31-1 / Hack: 某种珠子仅在最右端出现1次 / Hack: N=10^6,K=60满规模
3 30 12~20 大规模 N≤10^6, K≤60 归并双指针压力测试
4 25 21~25 随机分布回归测试

出处:原题链接