#P10303. [THUWC 2020] 报告顺序

[THUWC 2020] 报告顺序

题目描述

Yazid 今天要听 nn 个人做报告,方便起见,我们把这些人从 11nn 编号。

Yazid 有一个兴奋度,初始为 ss,这个值会随着报告的进行而改变。

ii 个人(1in1\leq i\leq n)的报告可以用三个数 ai,bi,cia_i,b_i,c_i 来描述,这表示假设听他的报告前,Yazid 的兴奋度为 xx,那么听完他的报告后,Yazid 的兴奋度将会变成 ax+bx+ca\lvert x\rvert+bx+c

Yazid 还要参加期末考试,因此他希望听完报告后尽可能兴奋。因此,你的任务是帮助 Yazid 安排确定所有人的报告顺序,使得 Yazid 在所有人报告完后兴奋度最大。

输入格式

第一行两个用空格隔开的整数 n,sn,s

接下来 nn 行描述 nn 个人的报告。这部分的第 ii 行为三个空格隔开的整数 ai,bi,cia_i,b_i,c_i

输出格式

输出一行一个整数,表示听完所有人的报告后,Yazid 最大的兴奋度。

2 3
0 1 1
0 2 0

8

1 -2
8 -4 1

25

提示

【样例解释 #1】

如果 Yazid 先听第一个人的报告,再听第二个人的报告,那么最后的兴奋度是 (3+1)×2=8(3+1)\times2=8

如果 Yazid 先听第二个人的报告,再听第一个人的报告,那么最后的兴奋度是 (3×2)+1=7(3\times 2)+1=7

所以最大的兴奋度为 88

【样例解释 #2】

只有一场报告,Yazid 初始兴奋度为 2-2,那么听完报告之后的兴奋度为 8×2+(4)×(2)+1=258\times \lvert -2 \rvert+(-4)\times (-2)+1=25

【子任务】

子任务 1(13 分):n10n \le 10

子任务 2(19 分):ci=0c_i = 0

子任务 3(23 分):ai=0a_i=0

子任务 4(45 分):无特殊限制。

对于所有测试点,保证 n15n\leq 15,保证 a,b,c,sa,b,c,s 的绝对值均不超过 1515

【提示】

在数据规模限制下,答案将不超过 128128 位有符号整数的范围,因此你可以尝试使用 __int128 来帮助实现你的算法。