C1369 [SCOI2009]生日礼物

内存限制:256 MB 时间限制:1000 ms

题目描述

小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有 $N$ 个,分为 $K$ 种。简单的说,可以将彩带考虑为 $x$ 轴,每一个彩珠有一个对应的坐标(即位置)。某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一个位置上。 小布生日快到了,于是小西打算剪一段彩带送给小布。为了让礼物彩带足够漂亮,小西希望这一段彩带中能包含所有种类的彩珠。同时,为了方便,小西希望这段彩带尽可能短,你能帮助小西计算这个最短的长度么?彩带的长度即为彩带开始位置到结束位置的位置差。

输入格式

第一行包含两个整数 $N, K$,分别表示彩珠的总数以及种类数。接下来 $K$ 行,每行第一个数为 $T_i$,表示第 $i$ 种彩珠的数目。接下来按升序给出 $T_i$ 个非负整数,为这 $T_i$ 个彩珠分别出现的位置。

输出

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

样例

样例输入 1

6 3 1 5 2 1 7 3 1 3 8

样例输出 1

3

提示

【数据规模】

对于 $50\%$ 的数据,$N≤10000$;

对于 $80\%$ 的数据,$N≤800000$;

对于 $100\%$ 的数据,$1≤N≤1000000,1≤K≤60,0≤$彩珠位置$<2^{31}$。