时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
小松鼠站在地面上,地面上长了

棵松树从左到右排成一排,不妨用一维坐标表示每棵松树的位置,第

棵松树的位置为

。每棵松树分为树干部分和树叶部分,树叶部分会掉落果实,第

棵松树树干的长度为

。
有

个松果会从松树上掉落,第

个松果会在

时刻在第

棵松树的树叶上掉落,价值是

。小松鼠最开始可以站在任意位置,它单位时间内的移动速度为

,松果单位时间内掉落的速度为

,如果一个松果掉落到地面,并且小松鼠正好站在松果掉落的地方,小松鼠就会立即把松果吃掉,否则0.5秒后松果就会消失,小松鼠吃坚果不消耗时间。
小松鼠想最大化吃到的松果的价值,但是小松鼠不知道怎么才能吃到,于是这个问题就交个聪明的你了。
输入描述:
第一行两个整数
。
第二行
个整数
第三行
个整数
接下来
行每行三个整数
。
输出描述:
输出一个整数表示小松鼠能吃到的松果的总价值最大是多少。
示例1
输入
复制
3 3
1 2 3
1 2 3
1 3 5
2 2 4
3 1 3
备注:

