【hpu oj 1018 985的最大和难题 [思维]】
2017-09-01 20:58
288 查看
点击打开链接
![](https://img-blog.csdn.net/20170901210004394?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHViYXlpMzEwNzI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
/*
np 正数个数
nm 负数个数
Min 记录绝对值最小的数字
s 记录所有数字的和
*/
#include<cstdio>
int main()
{
int n,t,a,np,nm,Min,s,m;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
Min=1000000000+1103,np=nm=s=0;
m=2*n-1;
while(m--)
{
scanf("%d",&a);
if(a<0) a=-a,nm++;
else np++;
s+=a;
if(a<Min) Min=a;
}
/*n为奇数时,变换n可以一次增加或减少一个负数,直到所有负数全化为正数*/
if(n&1)
printf("%d\n",s);
else/*n为偶数时,变换n个可以一次增加或减少2个负数*/
if(nm&1)
printf("%d\n",s-2*Min);
else
printf("%d\n",s);
}
return 0;
}
/*
np 正数个数
nm 负数个数
Min 记录绝对值最小的数字
s 记录所有数字的和
*/
#include<cstdio>
int main()
{
int n,t,a,np,nm,Min,s,m;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
Min=1000000000+1103,np=nm=s=0;
m=2*n-1;
while(m--)
{
scanf("%d",&a);
if(a<0) a=-a,nm++;
else np++;
s+=a;
if(a<Min) Min=a;
}
/*n为奇数时,变换n可以一次增加或减少一个负数,直到所有负数全化为正数*/
if(n&1)
printf("%d\n",s);
else/*n为偶数时,变换n个可以一次增加或减少2个负数*/
if(nm&1)
printf("%d\n",s-2*Min);
else
printf("%d\n",s);
}
return 0;
}
相关文章推荐
- 【zzuli-oj】-1899-985的最大和难题(思维,好)
- hpu-【1018: 985的最大和难题】
- 郑轻OJ/ ZZULIOJ 1899 985的最大和难题(思维)
- 【hpu oj 1015 985的方格难题 [DP、数学] 】 dc29
- 【hpu oj 1020 985的“树”难题 [DFS]】
- zzulioj1899 985的最大和难题(思维)
- 【zzuliOJ】1899 - 985的最大和难题(思维,好题)
- ZZULIOJ/ 郑轻OJ 1895: 985的0-1串难题(数学思维)
- 【zzuli-oj】-1895-985的0-1串难题(思维,好)
- zzulioj-1899-985的最大和难题【思维】
- 【HPU 1019 】985的买饮料难题 (dp)
- 【hpu oj 1127 用递归求数组中元素的最大值以及下标】
- 【hpu oj 1286: Number of numbers && 南阳 oj 85 有趣的数 && HDU 1597】 [思维]
- 【ZZULI】-1897-985的红绿灯难题(思维)
- 1899: 985的最大和难题(好题)
- 【zzuli-oj】-1900- 985的“树”难题(DFS & 并查集&STL)
- 【zzuliOJ】1895 - 985的0-1串难题(思维)
- 【ZZULI】-1998-985的数字难题(思维)
- zzuli 1899 985的最大和难题
- 1899: 985的最大和难题