问题 BN: 任务安排2

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:24 通过:10

题目描述

在一台机器上有一系列N个作业要处理。作业的编号从1到N,因此序列为1,2,...,N。作业序列必须分为一个或多个批次,其中每个批次由序列中的连续作业组成。处理从时间0开始。批次从第一批开始逐个处理,如下所述。如果批次b包含编号小于批次c的作业,则批次b在批次c之前处理。批处理中的作业在机器上连续处理。处理完批次中的所有作业后,机器立即输出该批次中所有作业的结果。作业j的输出时间是包含j的批处理完成的时间。


设置每个批次的机器需要设置时间S.对于每个工作i,我们知道其成本因子Fi和处理它所需的时间Ti。如果批处理包含作业x,x + 1,...,x + k,并且在时间t开始,那么该批处理中每个作业的输出时间为t + S +(Tx + Tx + 1 + .. 。+ Tx + k)。请注意,机器同时输出批量中所有作业的结果。如果作业i的输出时间是Oi,则其成本为Oi * Fi。例如,假设有5个作业,设置时间S = 1,(T1,T2,T3,T4,T5)=(1,3,4,2,1)和(F1,F2,F3,F4) ,F5)=(3,2,3,3,4)。如果作业被分为三个批次{1,2},{3},{4,5},那么输出时间(O1,O2,O3,O4,O5)=(5,5,10,14,14)这些工作的成本分别为(15,10,30,42,56)。分区的总成本是所有作业的成本之和。上面的示例分区的总成本是153。

您将编写一个程序,根据批处理设置时间和一系列作业及其处理时间和成本因素,计算最小可能的总成本。



输入格式

 第一行包含作业数N,1 <= N <= 10000.第二行包含批处理设置时间S,它是一个整数,0 <= S <= 50.以下N行包含有关作业的信息1 ,2,......,N按如下顺序排列。 首先在这些行中的每一行上是整数Ti,1 <= Ti <= 100,即作业的处理时间。 接下来,有一个整数Fi,1 <= Fi <= 100,这是工作的成本因素。

输出格式

输出包含一行,其中包含一个整数:最小可能的总成本。

输入样例 复制

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

输出样例 复制

153