zhx and contest

Accepts: 44
Submissions: 277
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
作为史上最强的刷子之一,zhx常常参与各种比赛。
有一天,zhx去虐一场比赛。他觉得题太简单了。
这场比赛有$n$道题。他一眼就已经计算出他做第$i$道题要花$t_i$的时间,做完后可以得到$v_i$分。
因为他太强了,所以他被管理员盯上了。如果他在第$l_i$个单位时间前做完了第$i$道题,那么管理员就会认为他在作弊,然后把他的号封了。
zhx不一定把所有题都做完。他只需要拿到不少于$w$分就满足了。他让你告诉他他最小需要花费多少时间才能拿到足够的分数并且不被封号。或者说他根本不能拿到那么多分。
注意,zhx只能同时做一道题,而且他一旦开始做一道题,就非得把它做出来不可。然后他会在做完后立即提交代码。
输入描述
多组数据(不多于$50$组),读到文件尾。
对于每组数据,第一行是两个空格分开的正整数$n$和$w$。($1 \leq n \leq 30$, $0 \leq w \leq 10^{9}$)
接下来每行三个正整数$t_i, v_i, l_i$。 ($1 \leq t_i,l_i \leq 10^5, 1 \leq v_i \leq 10^9$)
输出描述
对于每组数据输出一行表示最少用时。如果zhx不能拿到足够的分数那么输出"zhx is naive!"。(不含引号)
输入样例
1 3
1 4 7
3 6
4 1 8
6 8 10
1 5 2
2 7
10 4 1
10 2 3
输出样例
7
8
zhx is naive!