您的位置:首页 > 编程语言 > C语言/C++

Codeforces Round #410 (Div. 2)

2017-04-24 23:13 246 查看
A:代码

B:代码

C:代码

题中的操作操作两次以后可得:-2x[i+1],2x[i],都成了2的倍数。

只操作一次的话,只有奇数或是相等的数能都变成2的倍数。

也就是说,修改只能改出2来,那只要遍历一遍把它们都变成2的倍数即可。

D:代码

由题易得出,选出来的要比剩下的大。

用A降序排序,n为奇数的话,取第一个,然后后面的每对都取B更大的那个。

这样的话,就算后面的对都取到了A更小的,也可以得到符合要求的。

比如:10 9 8 7 6 5 4 3 2

假如更大的B都在后面一个,则取到10 8 6 4 2,因为降序排序,10比9大,8比7大,等等。

n为偶数的话,取第一和第二个,然后后面的每对都取B更大的那个,道理和n为奇数时一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息