通过交换求最大子数组和
C#
Medium
arrays
任务 «通过交换求最大子数组和»
给定一个整数数组。允许执行最多一次操作:选择数组中的两个元素并交换它们的位置。在执行最多一次交换后,找出连续子数组(任意长度,包括0)的最大可能和。如果和为负数,则输出0。数组长度从1到10^5,元素从-10^4到10^4。
输入格式
第一行包含一个整数 N — 数组元素的数量。第二行包含 N 个空格分隔的整数。
输出格式
一个整数 — 子数组的最大和。
示例
示例 1
输入
3
-1 -2 -3
输出
0
示例 2
输入
5
1 2 3 4 5
输出
15
示例 3
输入
4
-1 2 3 -4
输出
5
main.cs