秘密花园
测试数据来自 system/1138
作业已超过截止时间,您无法递交本题目。
时间限制:1秒 内存限制:256M
【问题描述】
一天小H狗场的 \(N\) 只哈斯奇狗闯进了他的秘密花园。已知将第 \(i\)只哈斯奇赶回的狗场需要 \(t_i\) 分钟,而这只哈斯奇在花园每多待 \(1\) 分钟,就会损坏 \(d_i\) 朵玫瑰花,小H每次只能赶一只哈斯奇回狗场,然后返回才能赶下一只,因此他赶回第 \(i\) 只哈斯奇需要花 \(2 * t_i\) 分钟的时间。
现在请你写一个程序,帮助小H确定按怎样的顺序赶会这些狗才能让他的花园损失最小。
【输入格式】
第 \(1\) 行:包含一个整数 \(N\) 。
第 \(2..N+1\) 行:每行包含两个用一个空格分开的整数 \(t_i\) 和 \(d_i\)。
【输出格式】
输出包含一个整数,表示花园损失的最小值。
【输入输出样例1】
Input
6
3 1
2 5
2 3
3 2
4 1
1 6
Output
86
【输入输出样例解释】
小H按照 \(6, 2, 3, 4, 1, 5\) 的顺序赶回哈斯奇,损坏花朵数量计算如下:
哈斯奇 \(6\) 最先赶回,她没有时间损坏花朵,因此哈斯奇 \(6\) 损坏花朵数量是 \(0\);
哈斯奇 \(2\) 在花园中待的时间是小H赶回哈斯奇 \(6\) 并回到花园的时间,因此她损坏花朵的数量为 \(2*5=10\) 朵;
哈斯奇 \(3\) 在花园中待的时间是 \(2+4=6\) 分钟,因此损坏花朵的数量为 \(3*6=18\) 朵;
按同样的道理可以计算哈斯奇 \(4\) 损坏花朵的数量分别为:\(2*10=20\);哈斯奇 \(1\) 损坏花朵的数量分别为:\(1*16=16\);哈斯奇 \(5\) 损坏花朵的数量分别为:\(1 * 22=22\)。
所以最后损失的最小值为 \(0 + 10 + 18 + 20 + 16 + 22 = 86\)。
【数据限制】
\(2 <= N <= 100,000\)
\(1 <= d_i <= 100\)
\(1 <= t_i <= 20,000\)
【来源】
Mr.he