【华为OD-E卷 - 分积木 100分(python、java、c++、js、c)】
题目
Solo和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量。
现在他们想要将这些积木分成两堆。
哥哥Solo负责分配,弟弟koko要求两个人获得的积木总重量“相等”(根据Koko的逻辑),个数可以不同,不然就会哭,但koko只会先将两个数转成二进制再进行加法,而且总会忘记进位(每个进位都忘记)。
如当25(11101)加11(01011)时,koko得到的计算结果是18(10010)
11001 +01011
10010 Solo想要尽可能使自己得到的积木总重量最大,且不让koko哭
输入描述
- 第一行是一个整数N,表示有多少块积木;
2 ≤ N ≤ 100 第二行为空格分开的N个整数Ci,表示第i块积木的重量。
1 ≤ Ci ≤ 10^6
输出描述
- 如果能让koko不哭,输出Solo所能获得积木的最大总重量;否则输出“NO”
用例
用例一:
输入:
3
3 5 6
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
评论记录:
回复评论: