Description 又到吃饭时间,Polo面对饭堂里琳(fei)琅(chang)满(keng)目(die)的各种食品,又陷入了痛苦的抉择中:该是吃手(jiao)打肉饼好呢,还是吃豆(cai)角(chong)肉片好呢?嗯……又不是天秤座怎么会酱紫呢? 具体来说,一顿饭由M个不同的部分组成(荤菜,素菜,汤,甜品,饮料等等),Polo要在每个部分中选一种作为今天的午饭。俗话说的好,永远没有免费的午餐,每种选择都需要有一定的花费。长者常常教导我们,便宜没好货,最便宜的选择估计比较坑爹,可囊中羞涩的Polo还要把钱省下来给某人买生日礼物,这该怎么办呢? 于是一个折中方案出来了:第K便宜的组合要花多少钱?这就要靠你了。 Input 第一行两个数M,K,含义如上所述。 接下来M行,先是一个整数Ai,表示第i个部分有多少种选择。接下来用空格分开的Ai个整数表示每种选择的价格。 Output 一行一个整数表示答案。 【样例解释】 最便宜的选择是第一部分选择1块钱的,第二部分选择2块的。但由于第二部分里2块钱有两种不同的选择,所以第二便宜的总花费仍然是3块。 Sample Input 2 2 2 1 3 2 2 2 Sample Output 3 Data Constraint 看到题目,发现后面怎么选是不影响前面的, 想设计一个dp,但是发现很难跳开在状态里设总花费。考试的时候一直认为可以有另外的dp状态 可以避开总花费, 但是一直搞也没有弄出来。看题解才意识到这可以用一个贪心解决。dp可以做部分分的题,不一定是正解, 不应该一直把自己 困在dp的范围之内。 Solution:排序之后每次都拓展有可能是次小的状态,扔进堆中,每次选出最小的弹出。