#CSPJX21. 任务

任务

题目描述

你需要处理 nn 个任务。每个任务都有一个持续时间 aa 和一个截止日期 dd

你将按某个顺序逐一处理这些任务。对于一个任务,其奖励为 dfd - f,其中 dd 是该任务的截止日期,ff 是该任务的完成时间。初始时间为 00

即使一个任务的奖励可能为负数,你也必须处理完所有任务。

请你计算通过优化任务顺序可以获得的最大总奖励是多少。

输入格式

第一行包含一个整数 nn,表示任务的数量。

接下来 nn 行,每行包含两个整数 aadd,分别表示一个任务的持续时间和截止日期。

输出格式

输出一个整数,表示可以获得的最大总奖励。

3
6 10
8 15
5 12
2

数据规模与约定

样例说明

存在三项任务,其持续时间和截止日期分别为 (6,10)(6, 10)(8,15)(8, 15)(5,12)(5, 12)

若按照先处理持续时间为 55 的任务,再处理持续时间为 66 的任务,最后处理持续时间为 88 的任务的顺序:

  • 第一个任务在时间点 55 完成,奖励为 125=712 - 5 = 7
  • 第二个任务在时间点 5+6=115 + 6 = 11 完成,奖励为 1011=110 - 11 = -1
  • 第三个任务在时间点 11+8=1911 + 8 = 19 完成,奖励为 1519=415 - 19 = -4

总奖励为 7+(1)+(4)=27 + (-1) + (-4) = 2。可以证明这是最优的总奖励。

数据范围

对于 100%100\% 的数据,1n2×1051 \le n \le 2 \times 10^51a,d1061 \le a, d \le 10^6