#P11035. 【MX-X3-T2】「RiOI-4」消えた夏の夢

【MX-X3-T2】「RiOI-4」消えた夏の夢

背景

原题链接:https://oier.team/problems/X3C。


いつまでも二人語り合おう
終わった夏を
探してた夢をそっと
終わらせよう戻らないように
お別れだね
君へ届けと願った声が
風になって心の隙間を
通り抜けた
——《消えた夏の夢》

小 T 不会出题。

题目描述

小 T 手中有一个数 xx,初始时为 pp。而小 ⊥ 手中有一个长为 nn 的序列 aa。一次操作中,小 T 需要依次进行如下的修改:

  • 选中 aa 中的一个数 aia_i。
  • 将 xx 加上 aia_i。
  • 让 aia_i 变为自身的相反数,即 −ai-a_i。

小 T 想知道,在若干次操作(可以不进行操作,同一个位置可以选中多次)之后,小 T 手中的数 xx 最大是多少。

输入格式

第一行两个整数 n,pn,p。

第二行 nn 个整数 aia_i。

输出格式

输出一行仅一个整数,表示 xx 最大是多少。

6 3
1 1 -4 5 1 -4
11
7 4
1 -9 -1 -9 8 -1 0
13

提示

【样例解释 #1】

对于样例,你可以依次执行以下操作:

  • 选中 a5=1a_5=1,xx 变为 3+1=43+1=4,a5a_5 变为 −1-1。
  • 选中 a1=1a_1=1,xx 变为 4+1=54+1=5,a1a_1 变为 −1-1。
  • 选中 a3=−4a_3=-4,xx 变为 5−4=15-4=1,a3a_3 变为 44。
  • 选中 a4=5a_4=5,xx 变为 1+5=61+5=6,a4a_4 变为 −5-5。
  • 选中 a2=1a_2=1,xx 变为 6+1=76+1=7,a2a_2 变为 −1-1。
  • 选中 a3=4a_3=4,xx 变为 7+4=117+4=11,a3a_3 变为 −4-4。

可以证明 xx 的最大值为 1111。注意,并不是只有样例中展示的方案可以达到这个最大值。

【数据范围】

测试点编号 n≤n\le 特殊性质
1∼31\sim3 2020
4∼54\sim5 10510^5 ai<0a_i<0
6∼76\sim7 ai≥0a_i\ge0
8∼108\sim10

对于 100%100\% 的数据,1≤n≤1051\le n\le10^5,∣ai∣,∣p∣≤109|a_i|,|p|\le 10^9。