Problem F: 箭无虚发

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $954$ 正确数量 $269$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 贪心
JH苦练10年,终于成为了一个神箭手,在下山之前,大师兄YZ不放心,想考验他,只给他一定时间t,同时给他n支箭,最终根据他的表现,考虑他是否能下山。

    对于每发一次箭,YZ给他4种成绩(优、良、中、差),JH有三种拉弓以及瞄准时间a ,b,c(a>=b>=c)分别能拿优,良,中等级,如果不拉弓不瞄(直接射),只能拿差(不能中靶)了。

    现在JH想知道,在保证自己弹无虚发(不获得差)的情况下,最多能拿多少个优。

    如果JH不能做到弹无虚发,输出Oh,my god! 

 输入数据包含T组:

       对于每组数据,第一行为一个整数n,表示总共有n支箭。

(0<n<=1000)

       之后n行,每行包含三个数字a,b,c,分别表示拿对应等级所需要花的时间。

       (0<c<=b<=a<=1000)

之后一个数字t,表示JH有考核总时间为t

       (0<=t<=1e6)

对于每组输入,如果JH能箭无虚发,则输出一个数字x,表示最多能拿到的优的数量。如果不能,则输出Oh,my god!
3
1
3 2 1
1
2
3 2 1
3 2 1
4
2
3 2 1
3 2 1
1
0
1
Oh,my god!