#H1059. [IOI2002] 任务安排 / 【模板】斜率优化动态规划

[IOI2002] 任务安排 / 【模板】斜率优化动态规划

题目背景

最经典的斜率优化 DP,没有之一。

这是一道模板题

题目描述

nn 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。机器会把这 nn 个任务分成若干批,每一批包含连续的若干个任务。从时刻 00 开始,任务被分批加工。执行第 ii 个任务所需要的时间是 tit_i。另外,在每批任务开始之前,机器需要 SS 的启动时间。故执行一批任务所需要的时间为 SS 加上每个任务所需时间之和。

一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。也就是说,同一批任务将在同一时刻完成。每个任务的费用是它的完成时刻乘以一个费用系数 cic_i

请你为机器规划一个分组方案,使得总费用最小。

输入格式

第一行一个正整数,表示 nn

第二行一个正整数,表示 SS

接下来 nn 行,每行有一对数 ti, cit_i,\ c_i,意思如题目描述。

输出格式

输出一行一个正整数,表示最小的总费用。

样例组

5
1
1 3
3 2
4 3
2 3
1 4
153

提示/说明

样例解释

分组方案为 {1,2},{3},{4,5}\{1,2\},\{3\},\{4,5\},完成时间为 {5,5,10,14,14}\{5,5,10,14,14\},总费用为 15+10+30+42+56=15315+10+30+42+56=153

数据范围

对于 100%100\% 的数据,1n1041\le n \le 10^40S500 \le S \le 501ti,ci1001 \le t_i,c_i \le 100