#joi2013yod. [joi2013yo_d]暑い日々 (Hot days)
[joi2013yo_d]暑い日々 (Hot days)
问题
在日本是冬季的这个时候,澳大利亚位于南半球的地区一直很热。IOI住在澳大利亚,他决定根据未来 天的天气预报来制定穿衣计划。根据预报,第 天 () 的最高气温预计为 度。
IOI有 种衣服,它们分别被编号为 1 到 。衣服 () 是适合在最高温度为 度到 度之间的日子穿的。此外,每件衣服都有一个称为“花哨度”的整数,衣服 的花哨度为 。
对于这 天里的每一天,IOI要从适合天气预报下穿的衣服中选择一件来穿。可以多次选择同一件衣服,也可以有几件衣服在这 天里一次也没选到。
IOI想尽量避免连续穿相似的衣服,所以他决定使相邻天的衣服花哨度之差的绝对值总和尽可能大。换句话说,假设在第 天穿衣服 ,IOI想要最大化值 $|C_{x_1} - C_{x_2}| + |C_{x_2} - C_{x_3}| + \cdots + |C_{x_{D-1}} - C_{x_D}|$。请编写一个程序来求解最大值。
输入
输入包含 行。
第一行有两个整数 和 (,),用空格分隔。 是制订衣服计划的天数, 是IOI拥有的不同衣服的数量。
接下来的 行中,第 行 () 有一个整数 (),表示预测第 天的最高温度为 度。
接下来的 行中,第 行 () 有三个整数 (,),表示衣服 适合在最高温度为 度到 度的日子穿,并且其花哨度为 。
保证在天气预报下,每一天都存在一件适合的衣服。
输出
输出连续天穿的衣服花哨度之差的绝对值总和,即值 $|C_{x_1} - C_{x_2}| + |C_{x_2} - C_{x_3}| + \cdots + |C_{x_{D-1}} - C_{x_D}|$ 的最大值,输出在一行中。
示例 1
3 4
31
27
35
20 25 30
23 29 90
21 35 60
28 33 40
输出示例 1
80
对于示例 ,第一天可选的衣服有衣服 和衣服 ,第二天可选的衣服有衣服 和衣服 ,第三天只能选衣服 。选择在第一天穿衣服 ,第二天穿衣服 ,第三天穿衣服 。那么第一天和第二天衣服的花哨度之差的绝对值为 ,第二天和第三天衣服的花哨度之差的绝对值为 。总和为 ,这是最大值。
示例 2
5 2
26
28
32
29
34
30 35 0
25 30 100
输出示例 2
300
对于示例 ,第一天要选择衣服 ,第二天要选择衣服 ,第三天要选择衣服 ,第四天要选择衣服 ,第五天要选择衣服 。那么结果为 $|100 - 100| + |100 - 0| + |0 - 100| + |100 - 0| = 300$。