#P2662. [WC2002] 牛场围栏

[WC2002] 牛场围栏

题目背景

小 L 通过泥萌的帮助,成功解决了二叉树的修改问题,并因此写了一篇论文,成功保送了叉院(羡慕不?)

勤奋又勤思的他在研究生时期成功转系,考入了北京大学光华管理学院!毕业后,凭着自己积累下的浓厚经济学与计算机学的基础,成功建设了一个现代化奶牛场!

题目描述

奶牛们十分聪明,于是在牛场建围栏时打算和小 L 斗智斗勇!小 L 有 NN 种可以建造围栏的木料,长度分别是 l1,l2,,lNl_1,l_2,\dots,l_N,每种长度的木料无限。

修建时,他将把所有选中的木料拼接在一起,因此围栏的长度就是他使用的木料长度之和。但是聪明的小 L 很快发现很多长度都是不能由这些木料长度相加得到的,于是决定在必要的时候把这些木料砍掉一部分以后再使用。

不过由于小 L 比较节约,他给自己规定:任何一根木料最多只能削短 MM 米。当然,每根木料削去的木料长度不需要都一样。不过由于测量工具太原始,小 L 只能准确的削去整数米的木料,因此,如果他有两种长度分别是 771111 的木料,每根最多只能砍掉 11 米,那么实际上就有 44 种可以使用的木料长度,分别是 6,7,10,116,7,10,11

因为小 L 相信自己的奶牛举世无双,于是让他们自己设计围栏。奶牛们不愿意自己和同伴在游戏时受到围栏的限制,于是想刁难一下小 L,希望小 L 的木料无论经过怎样的加工,长度之和都不可能得到他们设计的围栏总长度。不过小 L 知道,如果围栏的长度太小,小 L 很快就能发现它是不能修建好的。因此他希望得到你的帮助,找出无法修建的最大围栏长度。

这一定难不倒聪明的你吧!如果你能帮小 L 解决这个问题,也许他会把最后的资产分给你 18\frac{1}{8} 哦!

输入格式

输入的第一行包含两个整数 N,MN,M,分别表示木料的种类和每根木料削去的最大值。

以下各行每行一个整数 li (1<li<3000)l_i\ (1<l_i<3000),表示第 ii 根木料的原始长度。

输出格式

输出仅一行,包含一个整数,表示不能修建的最大围栏长度。如果任何长度的围栏都可以修建或者这个最大值不存在,输出 -1

2 1
7 11
15

提示

对于 40%40 \% 的数据,1<N<101<N<100M<3000\le M<300

对于 100%100 \% 的数据,1<N<1001<N<1000M<30000\le M<3000