#2145. 徐老师的机器人plus

徐老师的机器人plus

题目描述

众所周知,徐老师最近很喜欢玩他的机器人

而今天徐老师给机器人进行了一些改动,支持了转身功能!

现在机器人不但可以勇往直前!还可以急流勇退!(所以还是不支持转向功能)

为了方便描述,我们可以认为机器人可以行动的路线是一条直线,一开始机器人所在位置的坐标是 00,每向前走一步坐标 +1+1,向后走一步坐标 1-1,每走一步就需要花费 11 格电量

现在徐老师依旧在路径上设置了 nn 个充电宝,第 ii 个充电宝所在位置的坐标是 aia_i,电量是 bib_i,当机器人到达坐标 aia_i 时可以选择是否拿起这个充电宝

这一次徐老师给机器人安排的工作是:取得 所有充电宝返回起点

但是徐老师给机器人进行了限制:

  1. 中途不得使用充电宝给自己充电
  2. 必须先拿低电量的充电宝,再拿高电量的充电宝(即如果存在电量为 11 的充电宝,就必须拿完所有电量为 11 的充电宝以后才能拿电量为 22 的充电宝)

现在徐老师想知道,一开始至少给机器人充几格电,才能支撑它拿完所有的充电宝并返回起点?

P.S. 假设机器人电池电量无上限,且拿的下所有的充电宝

输入格式

输入第一行是两个整数 nn,表示充电宝数量

接下来 nn 行,每行包含两个整数 ai,bia_i,b_i,用于描述第 ii 个充电宝

输出格式

输出一行包含一个整数,表示徐老师一开始至少要给机器人充的电量

数据范围

对于 20%20\% 的数据,保证 1n,ai101 \leq n,|a_i| \leq 10

对于 50%50\% 的数据,保证 1n5000,ai100001 \leq n \leq 5000, |a_i| \leq 10000

对于 100%100\% 的数据,保证 1n100000,ai1061 \leq n \leq 100000, |a_i| \leq 10^6

对于所有数据保证 aiaj0,1bina_i \ne a_j \ne 0, 1 \leq b_i \leq n

样例输入1

5
2 2
3 1
1 3
4 2
5 3

样例输出1

12

样例解释1

机器人的一种移动路径为:$0 \rightarrow 3 \rightarrow 2 \rightarrow 4 \rightarrow 5 \rightarrow 1 \rightarrow 0$

样例输入2

6
-5 1
-4 2
-3 4
-2 4
5 2
4 1

样例输出2

28

样例解释2

机器人的一种移动路径为:$0 \rightarrow -5 \rightarrow 4\rightarrow 5\rightarrow -4\rightarrow -3\rightarrow -2\rightarrow 0$