一、问题描述
你是一位数学奇才,但却被困在了神秘的数字王国中。在你面前,摆放着一串神奇的数字,它们组成了一个长度为 n的序列,记作a。你的使命是利用你特殊的能力,最大化序列中所有数字的总和,但是有一个限制:你只能进行不超过n次操作。
那么,你的特殊能力是什么呢?嗯,你可以选择序列中的某一段连续的数字,然后将它们变为自身的相反数,举个例子,假设你选择了位置,那么a1, a2,...,ai中的每个数字都会剩以-1.
现在,你需要巧妙运用你的能力,设计—种操作方案,使得经过不超过n 次操作后,序列a中所有数字的总和尽可能大。请计算出这个最大的总和是多少?
输入格式
第一行包含一个整数n,表示序列a 的长度(1≤n≤10).
第二行包含n个整数a1, a2,…….., an,表示序列a中的元素(-10≤a≤10)。
输出格式
输出—个整数,表示经过不超过n 次操作后,序列a中所有数字的最大总和。
样例输入
3
-1 -2 3
样例输出
6
说明
一种最优的操作方案是:选择位置2,将序列变为[1,2,3]。这样一来,序列中所有数字的总和为
1+2+3=6
显然,不会有比这更大的数字总和了。
二、解析
题目给出了一个长度为n的整数序列,我们可以对序列中的任意一段连续数字进行取反操作(即乘以-1),最多可以进行n次操作。我们的目标是最大化序列中所有数字的总和。
要最大化总和,我们应该考虑这样一个事实:取反操作对于正数和负数的效果是不同的。对于正数,取反