Maximale Subarray-Summe mit Vertauschungen
TypeScript
Hard
arrays
Aufgabe «Maximale Subarray-Summe mit Vertauschungen»
Gegeben ist ein Array von ganzen Zahlen. Finden Sie die maximale Subarray-Summe, die durch höchstens eine Vertauschung zweier beliebiger Elemente des Arrays (einschließlich des Falls, dass keine Vertauschung durchgeführt wird) erreicht werden kann. Das Subarray muss zusammenhängend sein. Wenn eine Vertauschung durchgeführt wird, erfolgt sie vor der Suche nach dem Subarray, und es können zwei beliebige Elemente vertauscht werden (nicht notwendigerweise aus dem Subarray). Finden Sie die maximal mögliche Subarray-Summe nach höchstens einer Vertauschung.
Eingabeformat
In der ersten Zeile eine ganze Zahl N (1 ≤ N ≤ 10^5) — die Länge des Arrays. In der zweiten Zeile N ganze Zahlen a_i (-10^4 ≤ a_i ≤ 10^4).
Ausgabeformat
Eine ganze Zahl — die maximale Subarray-Summe nach höchstens einer Vertauschung.
Beispiele
Beispiel 1
EINGABE
4
1 -2 3 4
AUSGABE
12
Beispiel 2
EINGABE
4 2
-1 -2 -3 -4
AUSGABE
4
Beispiel 3
EINGABE
shipped
[{"id":1,"status":"pending","items":["book"]},{"id":2,"status":"pending","items":[]},{"id":3,"status":"pending","items":["pen","pencil"]}]
AUSGABE
[{"id":1,"status":"shipped","items":["book"]},{"id":2,"status":"pending","items":[]},{"id":3,"status":"shipped","items":["pen","pencil"]}]
main.ts