1018: 985的最大和难题
时间限制: 1 Sec 内存限制: 128 MB提交: 5 解决: 2
[ 提交][ 状态][ 讨论版]
题目描述
985有2 * n - 1个整数,他每次可以将其中n个数变号,操作次数不限,问他可以得到的最大和。
输入
第一行输入一个整数t,代表有t组测试数据。
每组数据占两行,第一行输入一个整数n代表元素个数,下面一行输入2 * n - 1个整数a[]。
注:1 <= t <= 32,1 <= n <= 1e3,-1e3 <= a[] <= 1e3。
每组数据占两行,第一行输入一个整数n代表元素个数,下面一行输入2 * n - 1个整数a[]。
注:1 <= t <= 32,1 <= n <= 1e3,-1e3 <= a[] <= 1e3。
输出
输出一个整数代表可以得到的最大和。
样例输入
2
2
1 1 1
2
-10 20 -10
样例输出
340
<span style="font-size:18px;">#include<cstdio> int get_min(int a,int b) { if(a<b) return a; return b; } int main() { int t; scanf("%d",&t); while(t--) { int n,i,sum,min,a,ans=0; scanf("%d%d",&n,&min); if(min<0) { ++ans; min=-min; } sum=min; for(i=1;i<2*n-1;++i) { scanf("%d",&a); if(a<0) { ++ans; a=-a; } sum+=a; min=get_min(min,a); } if(n&1||!(ans&1)) printf("%d\n",sum); else printf("%d\n",sum-2*min); } }</span>