题目分析
分析题目可得,是最终结果为奇数,且结果尽量大,又因为题目保证有解,所以数列中一定有奇数,所以只需要注意这三点
1.数列所有正数求和
2.查找正数中的奇数
3.查找负数中的奇数
判读正数和是否为奇数,如果是就输出
如果不是就减掉上面找到的奇数中绝对值最小的值,然后输出
py 代码
n = int(input())
lis = list(map(int,input().strip().split()))
res = 0
doit = -100001
for i in lis:
if i < 0 and i%2:
doit = max(doit,i)
continue
if i > 0:
res += i
if i%2:doit = max(doit,-i)
if res%2:print(res)
else:print(res + doit)