Наибольшая сумма подмассива с перестановками
TypeScript
Сложный
arrays
Задача «Наибольшая сумма подмассива с перестановками»
Дан массив целых чисел. Необходимо найти максимальную сумму подмассива, которую можно получить, выполнив не более одной перестановки любых двух элементов массива (включая случай, когда перестановка не делается). Подмассив должен быть непрерывным. Если перестановка выполняется, то она применяется перед поиском подмассива, и можно переставить любые два элемента (не обязательно из подмассива). Найдите максимально возможную сумму подмассива после не более одной перестановки.
Формат ввода
В первой строке целое число N (1 ≤ N ≤ 10^5) — длина массива. Во второй строке N целых чисел a_i (-10^4 ≤ a_i ≤ 10^4).
Формат вывода
Одно целое число — максимальная сумма подмассива после не более одной перестановки.
Примеры
Пример 1
ВВОД
4
1 -2 3 4
ВЫВОД
12
Пример 2
ВВОД
4 2
-1 -2 -3 -4
ВЫВОД
4
Пример 3
ВВОД
shipped
[{"id":1,"status":"pending","items":["book"]},{"id":2,"status":"pending","items":[]},{"id":3,"status":"pending","items":["pen","pencil"]}]
ВЫВОД
[{"id":1,"status":"shipped","items":["book"]},{"id":2,"status":"pending","items":[]},{"id":3,"status":"shipped","items":["pen","pencil"]}]
main.ts