Flipping Signs

AtCoder
IDabc125_d
Time2000ms
Memory256MB
Difficulty
There are $N$ integers, $A_1, A_2, ..., A_N$, arranged in a row in this order. You can perform the following operation on this integer sequence any number of times: **Operation**: Choose an integer $i$ satisfying $1 \leq i \leq N-1$. Multiply both $A_i$ and $A_{i+1}$ by $-1$. Let $B_1, B_2, ..., B_N$ be the integer sequence after your operations. Find the maximum possible value of $B_1 + B_2 + ... + B_N$. ## Constraints * All values in input are integers. * $2 \leq N \leq 10^5$ * $-10^9 \leq A_i \leq 10^9$ ## Input Input is given from Standard Input in the following format: $N$ $A_1$ $A_2$ $...$ $A_N$ [samples]
Samples
Input #1
3
-10 5 -4
Output #1
19

If we perform the operation as follows:

*   Choose $1$ as $i$, which changes the sequence to $10, -5, -4$.
*   Choose $2$ as $i$, which changes the sequence to $10, 5, 4$.

we have $B_1 = 10, B_2 = 5, B_3 = 4$. The sum here, $B_1 + B_2 + B_3 = 10 + 5 + 4 = 19$, is the maximum possible result.
Input #2
5
10 -4 -8 -11 3
Output #2
30
Input #3
11
-1000000000 1000000000 -1000000000 1000000000 -1000000000 0 1000000000 -1000000000 1000000000 -1000000000 1000000000
Output #3
10000000000

The output may not fit into a $32$\-bit integer type.
API Response (JSON)
{
  "problem": {
    "name": "Flipping Signs",
    "description": {
      "content": "There are $N$ integers, $A_1, A_2, ..., A_N$, arranged in a row in this order. You can perform the following operation on this integer sequence any number of times: **Operation**: Choose an integer $i",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc125_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There are $N$ integers, $A_1, A_2, ..., A_N$, arranged in a row in this order.\nYou can perform the following operation on this integer sequence any number of times:\n**Operation**: Choose an integer $i...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments