贪心 · 例9-保护那些花
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}本题翻译自 [USACO Jan07-Sliver] Protecting the Flowers 。
\hspace{15pt}农夫约翰外出砍柴时,他的 n 头奶牛跑到花圃里吃花儿了!第 i 头奶牛在距离牛圈 t_i 分钟处吃花,每分钟会吃掉 d_i 朵花。
\hspace{15pt}为了保护花儿,农夫要将牛都运回牛圈。他每次只能运一头奶牛回牛圈,运送第 i 头奶牛来回用时为 2 \times t_i 分钟,在这段时间内,其它的奶牛会继续吃花,速度保持不变,当然正在被赶回牛圈的奶牛不能继续吃了。
\hspace{15pt}现在,你需要即刻制定一个运输计划,使得被吃掉的花尽可能少。

输入描述:

\hspace{15pt}第一行输入一个整数 n \left( 1 \leqq n \leqq 10^5 \right) 代表奶牛的数量。
\hspace{15pt}此后 n 行,第 i 行输入两个整数 t_i, d_i \left( 1 \leqq t_i \leqq 2 \times 10^6;\ 1 \leqq d_i \leqq 100 \right) 代表第 i 头奶牛距离牛圈的时间、每分钟吃掉的花朵数。

输出描述:

\hspace{15pt}在一行上输出一个整数,代表被吃掉的花的最小朵数。
示例1

输入

复制
3
1 1
4 5
1 4

输出

复制
20

说明

\hspace{15pt}依次运送第三、二、一头奶牛,第三头奶牛会吃 0 分钟的花,第二头奶牛会吃 2 分钟的花,第一头奶牛会吃 10 分钟的花,所以总共会吃掉 2 \times 5 + 10 \times 1 = 20 朵花。
\hspace{15pt}我们可以证明这是最优的运输计划。
示例2

输入

复制
6
3 1
2 5
2 3
3 2
4 1
1 6

输出

复制
86