编程题
### 问题描述 小莉是一位珠宝设计师,她非常喜欢玩珠子。她有一个长度为 $N$ 的珠串 $A$,每个珠子有不同的颜色和大小,她想要用这个珠串来设计一款新的珠宝。 她将该珠串的交替和定义为: $$ S = |A_1| - |A_2| + |A_3| - |A_4| + \dots + (-1)^{N-1} \cdot |A_N| $$ 小莉可以进行以下操作,但最多只能进行一次: 选择两个位置 $i$ 和 $j$($1 \le i < j \le N$),交换 $A_i$ 和 $A_j$。 为了让新的珠宝更加漂亮,小莉想要让交替和最大。请你帮她找出最大的交替和。 其中,$|X|$ 表示珠子 $X$ 的大小的绝对值。 ### 输入格式 第一行包含一个整数 $N$,表示珠串 $A$ 的长度。 第二行包含 $N$ 个用空格分隔的整数,表示珠串 $A$ 中每个珠子的大小。 数据范围保证:$1 \leq N \leq 10^5$,$-10^9 \leq A_i \leq 10^9$。 ### 输出格式 输出一行,表示小莉最多可以通过进行操作获得的最大交替和。 ### 样例输入 ```text 7 -3 -2 -1 0 1 2 3 ``` ### 样例输出 ```text 6 ``` ### 说明 对于样例,最优的交换方案是选择 $i=2$ 和 $j=3$,将 $-2$ 和 $-1$ 换位置,得到数组 $[-3, -1, -2, 0, 1 ,2,3]$,此时交替和为 $|{-3}| - |{-1}| + |{-2}| - |{0}| + |{1}| - |{2}| + |{3}| = 6$。
查看答案
赣ICP备20007335号-2