题目 3158

任务安排1

查看题解 ↗GitHub ↗如何评测
题号
3158
时间限制
1000 ms
内存限制
128 MB
标签
动态规划斜率优化

有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。

机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。

从时刻0开始,任务被分批加工,执行第 i 个任务所需的时间是 TiT_i。

另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。

一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。

也就是说,同一批任务将在同一时刻完成。

每个任务的费用是它的完成时刻乘以一个费用系数 CiC_i。

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

输入格式

第一行包含整数 N。

第二行包含整数 S。

接下来N行每行有一对整数,分别为 TiT_i 和 CiC_i,表示第 i 个任务单独完成所需的时间 TiT_i 及其费用系数 CiC_i。

输出格式

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

数据范围

1≤N≤50001 \le N \le 5000,
0≤S≤500 \le S \le 50,
1≤Ti,Ci≤1001 \le T_i,C_i \le 100

输入样例:

文本
5
1
1 3
3 2
4 3
2 3
1 4

输出样例:

文本
153

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3158 的公开数据

正在读取文件列表…

常用命令

题目 3158 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。