比赛场次 42
比赛名称 20090916练习赛
比赛状态 已结束比赛成绩
开始时间 2009-09-16 19:00:00
结束时间 2009-09-16 22:00:00
开放分组 全部用户
注释介绍
题目名称 任务安排
输入输出 batch.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarlc AAAAAAAAAA 0.000 s 0.00 MiB 100
GravatarAchilles AAAAAAAAAA 0.000 s 0.00 MiB 100
Gravatar.Xmz AAAAAATTTT 0.000 s 0.00 MiB 60
Gravatarybh WWWTTTTTTT 0.000 s 0.00 MiB 0

任务安排

★★☆   输入文件:batch.in   输出文件:batch.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

有 $N$ 个任务排成一个序列在一台机器上等待完成(顺序不得改变),这 $N$ 个任务被分成若干批,每批包含连续的若干个任务。从时刻 $0$ 开始,任务被分批加工,执行第 $i$ 个任务所需的时间是$T_i$。另外,在每批任务开始前,机器需要 $S$ 的启动时间,故执行一批任务所需的时间是启动时间 $S$ 和每个任务需要时间的总和(同一批任务将在同一时刻完成)。每个任务的费用是它的完成时刻乘以一个费用系数$C_i$。请为机器规划一个分组方案,使得总费用最小。

例如:$S=1$;$T$={$1,3,4,2,1$};$C$={$3,2,3,3,4$}。

如果分组方案是{$1$,$2$}、{$3$}、{$4$,$5$},则各个任务完成时间分别为{$5,5,10,14,14$},费用分别为{$15,10,30,42,56$},总费用就是$153$。

【输入格式】

第一行是$N$;

第二行是$S$;

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

【输出格式】

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

【输入样例】

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

【输出样例】

153

【数据规模】

$60$%的数据,$1<=N<=500,0<=S<=50,1<=T_i,C_i<=100$;

$100$%的数据,$1<=N<=5000,0<=S<=50,1<=T_i,C_i<=100$;

【题目来源】

$IOI$ $2002$

《算法竞赛进阶指南》$CH5A01$