已结束 GESP巅峰赛#27

A5732 | Alice 的奇妙子段

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定一个长度为 $n$ 的整数序列 $a_1,a_2,\dots,a_n$。你可以选择至多一次把某个连续子段 $[l,r]$(要求 $1\le l\le r\le n$、长度 $(r-l+1)\le L$)中的每个数取相反数(乘以 $-1$)。翻转完成后,在新序列上取一个非空连续子段,使其元素和尽可能大。

请你输出在最优选择下的最大子段和

输入格式

* 第一行两个整数 $n,L$ —— 序列长度与允许翻转的最大长度
* 第二行 $n$ 个整数 $a_1,a_2,\dots,a_n$。

输出格式

* 输出一个整数,表示在至多一次、长度不超过 $L$ 的翻转后,序列的最大子段和。

输入输出样例

输入 #1
5 2
1 -4 3 -2 5
输出 #1
11
C++ 编辑器
输入
输出