#P3093. 挤奶调度(Milk Scheduling S)

0

挤奶调度(Milk Scheduling S)

挤奶调度(Milk Scheduling S)

题目描述

FJ 有 NN(1≤N≤10,0001 \le N \le 10,000)头牛要挤牛奶,为每头牛挤牛奶需要花费 11 单位时间。

奶牛很厌烦等待,奶牛 ii 在它的截止时间 did_i(1≤di≤10,0001 \le d_i \le 10,000)前能挤出 gig_i(1≤gi≤10001 \le g_i \le 1000)加仑的牛奶,否则将不能挤出牛奶。时间 tt 开始时为 00,即在时间 t=xt=x 之前,最多可以给 xx 头奶牛挤牛奶。

请计算 FJ 的最大挤奶量。

输入格式

第一行一个整数 NN。

第 22 至第 (N+1)(N+1) 行,第 (i+1)(i+1) 行两个整数 gig_i 和 did_i。

输出格式

一行一个整数,表示 FJ 最多能得到多少加仑的牛奶。

样例输入 #1

4
10 3
7 5
8 1
2 1

样例输出 #1

25

数据范围

有 44 头奶牛。第一头奶牛如果在时刻 33 之前(不包含时刻 33)被挤可以产出 1010 加仑牛奶,其它奶牛以此类推。

FJ 在 00 时刻开始给奶牛 33 挤牛奶(放弃在奶牛 44 的时间限制之前给它挤牛奶,因为和奶牛 33 冲突),消耗 11 单位时间并得到 88 加仑的牛奶;在时刻 11 给奶牛 11 挤牛奶,在时刻 22 给奶牛 22 挤牛奶。

一共获得 8+10+7=258+10+7=25 加仑的牛奶。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1400。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 25 2~8 小规模与边界测试数据
2 30 9~16 中等规模测试数据
3 35 17~25 满规模极限测试数据

出处:原题链接