编程介的小学生 2017-08-27 14:22 采纳率: 20.5%
浏览 734
已采纳

Perfect Cherry Blossom

In Gensokyo, people relax and bask in the calm of a winter without end. Spring has shown no sign of arriving even though it's already May, and in fact the snowstorms are continually getting worse. Kirisame Marisa, a playful magician, sees a cherry blossom petal float down outside her warm house and wonders if spring is happening somewhere else. She follows the trail of cherry blossoms high above Gensokyo, eventually crosses a great magical boundary into the Netherworld. At the end of a long journey, she comes face to face with Saigyouji Yuyuko, the ghost princess of Hakugyokurou, who had been stealing the essence of "spring" throughout Gensokyo in order to make the Saigyou Ayakashi, a youkai cherry tree, bloom perfectly with the rest of Hakugyokurou's gardens. And Marisa defeats her to reclaim Gensokyo's spring.

perfect_cherry_blossom_0.jpg
Assume that Marisa starts the journey at any point of line y=-1 and ends at line y=S. After each unit time, she can move from point (x1, y) to point (x2, y + 1), 0 <= x < W, where dy = |x1 - x2| is the distance she moves in x-direction. If Marisa appears in the same point with a bullet or a item, then she will be struck by the bullet or get the item, respectively. Marisa's aim is to get as many cherry points as possible during the journey. There are many things linking with the cherry points:

When Marisa starts off her journey, she has 0 cherry points;
Shooting enemies increases Marisa's cherry points, she can gain at most B cherry points in total in this way, where B is a given constant;
Being struck by bullets decreases Marisa's cherry points by a certain number |zi| for each bullet;
Gathering pink items (cherry blossom petals) increases Marisa's cherry points by a certain number |zj| for each item;
Grazing bullets by having them pass through her sprite but not her hitbox increases Marisa's cherry points. But it's not an easy job, especially when she has to move in x-direction to avoid bullets or gather items. She can gain at most C - A * d (maybe negative, it's valid) cherry points in total in this way, where C and A are constants, d is the total distance she moves in x-direction. This means that the more Marisa moves in x-direction, the less cherry points she can gain.
Marisa wants to know how many cherry points she can get at most.

Input

There are no more than 100 cases, most of which are small ones. Process to the end of file.

Each case begins with 6 integers 1 <= W <= 30000, 1 <= S <= 900000000, 0 <= N <= 60000, 0 <= A <= 10, 0 <= B <= 100000000 and 0 <= C <= 1000000000. Then N lines. The k-th line describe a bullet or a item at point (Xk, Yk) by 3 integers 0 <= Xk < W, 0 <= Yk < S and 0 < |Zk| < 10000. A positive Zk stands for a pink item, while a negative one stands a bullet. All (Xk, Yk) are different.

Output

The maximum possible cherry points on separate lines.

Sample Input

2 3 3 0 0 0
0 0 -1
1 1 -1
0 2 -1

6 6 6 6 6 6
3 0 -3
3 1 3
3 2 3
3 3 3
2 3 4
4 3 2

Sample Output

0
18

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题