问题1309--小跳蛙

1309: 小跳蛙

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

提交

题目描述

一群蛙蛙聚在一起,在他们面前的是一堆堆长度为 h 的石头,现在他们想比一下看看谁才是蛙中 ”蛙杰“,”蛙杰“ 需要满足两个条件,第一个条件是能”跳“, 第二个条件是耐力强。现在定义从 h1 跳到 h2 的消耗的耐力值为 |h1 - h2| , |x| 为 x 的绝对值。现在青蛙从高度为 0 的起点开始,它可以任意选择石头往上跳,但是每个石头只能经过一次,每次移动需要消耗对应的耐力。现在需要你计算一个蛙的耐力能否支撑它以最大耐力消耗的方法跳完所有的石头(每一石头必须且仅能跳一次),如果可以它就能赢得蛙中最高荣誉称号”算你厉害“,如果不行就输出消耗最多耐力值与它本身的耐力值的差值。

输入

输入为多行,第一行为两个整数 n 和 m , n 代表有 n 块石头, m 代表它的耐力值。
接下来 n 行为每块石头的高度。

输出

如果满足条件,输出”算你厉害“, 否则的话输出差值。

样例输入 Copy

2 10
2 
1

样例输出 Copy

算你厉害

提示

对于样例 1 的解释:
其初始位置高度为 0, 设耐力值为 s,第一次跳到高度为 2 的石头上, s = 2
高度为 2 ,跳到高度为 1 的位置上, s = 3;
s < m        
输出:算你厉害
数据范围:
1 <= n <= 300, 1 <= m <= 106, 1 <= hi <= 104

来源/分类