一道算法题,求助!!!!!!!!!!!!!
Wii游戏机有两个手柄,每个手柄使用两节电池(这两个电池可以是不同的品牌),其中至少一块电池没电时该手柄没电。
工程师们在玩游戏时,总是用最简单的方式更换电池:有手柄没电时把所有没电的电池拿走,一一换上新电池即可(有电的电池总是继续使用)。当有手柄没电但没有新电池可用时才停止玩Wii。
告诉你每个品牌电池的使用时间以及该品牌电池的个数,请计算工程师们玩游戏时间的最小值和最大值。
输入格式
输入第一行为一个正整数n,表示电池的种数。接下来n行,每行两个整数L和F,表示使用时间为L的电池有F个(电池不必成对出现,即F可以是奇数)。
输出格式
输出仅一行,包含两个整数,分别表示工程师们的最短游戏时间和最长游戏时间(短的时间在前)。两个整数之间以空格隔开。
输入样例 例
3
3 2
5 2
8 2
输出样例 例
5 8
[解决办法]
我只会穷举,
实际上本人以为该题是一个 集合划分的问题,也就是说 给定一个集合,
把它分成2部分A,B,s.t.
(1)A-B 的差越小---------这个是最优
(2)A-B的差越大 并且A-B不能大于A中最大元素Max{A}-----这个是最差
--------------------------
但是这个问题(我觉得,算法学的不好)至少是NPC问题(它不比 是否能把一个集合分成K个相等部分 问题简单),所以我只会穷举+分界。
上面的差应是非负数