#8. 搬桌椅

搬桌椅

题目描述

一间长方形教室中杂乱摆放着一些桌子和椅子。你可以把这间教室看作一个一维数轴,数轴上同一位置只能摆放一张桌子或一张椅子。由于这间教室要准备用来召开家长会,因此需要把所有的桌子移出教室,留下所有的椅子。小瓜决定:先把所有的桌子搬到教室门口(也就是教室最左侧),然后统一推走就可以了。

如下图为初始时桌椅的摆放顺序:

把桌子全部搬到教室门口后,最终摆放顺序如下:

我们把这样的摆放顺序称为“目标顺序”。

小瓜的每次操作都可以将一张桌子或一张椅子从原位置上搬起来,然后插入到一处其他位置。这一次操作所耗费的体力值等同于这张桌子或椅子的重量 wiw_i。(由于地面非常光滑,因此小瓜只需要把它们搬出来,然后在地上拖动就可以了,因此无论搬到多远的距离,耗费的体力值始终为 wiw_i。)

不考虑搬动后产生的空隙,求:达成目标顺序所消耗的体力值总和的最小值。

输入格式

第一行:一个正整数 nn,表示桌子和椅子的总数。

随后 nn 行:每行两个正整数 x,wix,w_i,用来描述一张桌子或椅子的信息。其中 x=1x=1 表示桌子,x=0x=0 表示椅子;wiw_i 表示其重量。

输出格式

一个整数,表示答案。

样例

3
0 10
1 20
1 30
10
5
0 20
1 6
1 5
0 8
1 4
15

样例 22 解释:

初始状态:

椅(20) 桌(6) 桌(5) 椅(8) 桌(4)

第一次操作,把桌(6)搬到椅(20)左边,消耗 66 点体力:

桌(6) 椅(20) 桌(5) 椅(8) 桌(4)

第二次操作,把桌(5)搬到椅(20)左边,消耗 55 点体力:

桌(6) 桌(5) 椅(20) 椅(8) 桌(4)

第三次操作,把桌(4)搬到椅(20)左边,消耗 44 点体力:

桌(6) 桌(5) 桌(4) 椅(20) 椅(8)

至此已达成目标顺序,消耗的体力值和为 1515

数据规模

对于前 20%20\% 的数据,wiw_i 全部相等;

对于前 40%40\% 的数据,1n,wi1001≤n,w_i≤100

对于 100%100\% 的数据,1n,wi1061≤n,w_i≤10^6