CodeForces 302C(数学)
2015-10-01 00:13
295 查看
题目链接:CodeForces 302C
解题思路:操作要求是选n个数,改变它们的符号,使得所有数的和最大。n为奇数时,翻转几个数都是可行的;n为偶数时,只能翻转偶数个数,所以我们要留一个绝对值最小的数为负数。
代码:
解题思路:操作要求是选n个数,改变它们的符号,使得所有数的和最大。n为奇数时,翻转几个数都是可行的;n为偶数时,只能翻转偶数个数,所以我们要留一个绝对值最小的数为负数。
代码:
#include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define INF 0x3f3f3f3f using namespace std; int n, m, sum, maxx, num, a[205]; int main() { while(~scanf("%d", &n)) { m = 2*n - 1, sum = 0, num = 0; for(int i=0;i<m;i++) { scanf("%d", &a[i]); if(a[i] < 0) { a[i] = -a[i]; num++; } sum += a[i]; } sort(a, a+m); if(num%2==1 && n%2==0) sum -= 2*a[0]; printf("%d\n", sum); } return 0; }
相关文章推荐
- 线性结构CT 02-线性结构1 一元多项式的乘法与加法运算
- ASP.NET动态网站制作(4)--css(3)
- codeforces 519E A and B and Lecture Rooms LCA倍增
- pip fail with bad md5 hash for package?解决方案(Mac OS 10.10.4)
- svg转换工具
- Java中final关键字的用法
- 开始的标记_2015年10月1日00:05:59
- 生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)
- 使用Java 8函数式编程生成字母序列
- U盘装CentOS6.4
- java图片缩放
- 深入解析StringBuffer和StringBuilder的区别
- Codeforces Round #322 (Div. 2) D. Three Logos 模拟
- Week 2 代码审查
- Course Schedule II 解答
- [pythontip]最大非连续子序列
- 欢迎使用CSDN-markdown编辑器
- Find them, Catch them
- 了解"DevOps"
- Java Swing编程:JTable表格