编程题
### 问题描述 如果你有 $3$ 杯茶,但是却来了 $4$ 个领导。你该如何做? 小蓝为了解决这个难题,他带了一个茶壶,将所有的茶都倒进了茶壶,进行重新分配。 具体如下: 小蓝有一个 $W$ 毫升的茶壶,他的面前有 $n$ 个领导,每个人有一个茶杯,每个人至少要有 $a_i$ 毫升的茶,每个人最多需要 $b_i$ 毫升的茶,每个领导会有一个开心度权值 $s_i$,如果给他倒了 $x_i$ 毫升的茶,他的开心度为 $s_i \times x_i$,小蓝想要所有领导的开心度之和最大,他想知道最大值是多少? ### 输入格式 第一行输入两个整数 $n, W$,代表领导人数,茶壶的容量。 接下来 $n$ 行,每行一个三个整数 $a_i, b_i, s_i$,代表第 $i$ 位领导的喝茶的下限,上限,开心度权值。 ### 输出格式 一个整数,代表最大的开心度之和。 ### 样例输入 ``` 3 7 1 2 4 2 4 2 3 3 5 ``` ### 样例输出 ``` 27 ``` ### 说明 - 给第一个领导倒茶 $2$ 毫升,得到开心值 $8$。 - 给第二个领导倒茶 $2$ 毫升,得到开心值 $4$。 - 给第一个领导倒茶 $3$ 毫升,得到开心值 $15$。 开心度之和为 $27$。 ### 评测数据范围 $1 \le n \le 10^4, 1 \le a_i \le b_i \le 10^6, \sum _{i=1} ^n a_i \le W \le 10^9, 1 \le s_i \le 10^6 $。
查看答案
赣ICP备20007335号-2