我一直在尝试解决问题http://www.spoj.pl/problems/RPLB/但无法提出算法。
我的尝试——
将输入分成两个数组,一个是奇数索引处的值,另一个是偶数索引处的值。之后,对两个数组进行排序并添加数字,直到总和小于限制。我很快就可以通过一些测试用例来解决这个问题。
我将输入存储在一个数组中,并且每次我尝试添加最大的剩余数字,条件是它不与已添加的任何数字相邻,但这个算法也被证明是错误的。
现在,通过尝试所有可能的组合,我能想到的唯一解决方案是指数级的:(
请提出解决此问题的正确算法。