P10303 [THUWC 2020] 报告顺序

题目描述

Yazid 今天要听 $n$ 个人做报告,方便起见,我们把这些人从 $1$ 至 $n$ 编号。 Yazid 有一个兴奋度,初始为 $s$,这个值会随着报告的进行而改变。 第 $i$ 个人($1\leq i\leq n$)的报告可以用三个数 $a_i,b_i,c_i$ 来描述,这表示假设听他的报告前,Yazid 的兴奋度为 $x$,那么听完他的报告后,Yazid 的兴奋度将会变成 $a\lvert x\rvert+bx+c$。 Yazid 还要参加期末考试,因此他希望听完报告后尽可能兴奋。因此,你的任务是帮助 Yazid 安排确定所有人的报告顺序,使得 Yazid 在所有人报告完后兴奋度最大。

输入格式

第一行两个用空格隔开的整数 $n,s$。 接下来 $n$ 行描述 $n$ 个人的报告。这部分的第 $i$ 行为三个空格隔开的整数 $a_i,b_i,c_i$。

输出格式

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

说明/提示

**【样例解释 #1】** 如果 Yazid 先听第一个人的报告,再听第二个人的报告,那么最后的兴奋度是 $(3+1)\times2=8$; 如果 Yazid 先听第二个人的报告,再听第一个人的报告,那么最后的兴奋度是 $(3\times 2)+1=7$。 所以最大的兴奋度为 $8$。 **【样例解释 #2】** 只有一场报告,Yazid 初始兴奋度为 $-2$,那么听完报告之后的兴奋度为 $8\times \lvert -2 \rvert+(-4)\times (-2)+1=25$。 **【子任务】** 子任务 1(13 分):$n \le 10$; 子任务 2(19 分):$c_i = 0$; 子任务 3(23 分):$a_i=0$; 子任务 4(45 分):无特殊限制。 对于所有测试点,保证 $n\leq 15$,保证 $a,b,c,s$ 的绝对值均**不超过** $15$。 **【提示】** 在数据规模限制下,答案将不超过 $128$ 位有符号整数的范围,因此你可以尝试使用 `__int128` 来帮助实现你的算法。