Maximale Summe eines Subarrays mit Entfernung eines Elements
Java
Hard
arrays
Aufgabe «Maximale Summe eines Subarrays mit Entfernung eines Elements»
Gegeben ist ein Integer-Array. Es ist die maximale Summe eines Subarrays (einer zusammenhängenden Elementfolge) zu finden, unter der Bedingung, dass höchstens ein Element entfernt werden darf (oder keines entfernt wird). Das Subarray muss mindestens ein Element enthalten. Es ist ein Algorithmus mit einer Zeitkomplexität von O(n) und konstantem zusätzlichem Speicher zu implementieren.
Eingabeformat
Die erste Zeile enthält eine ganze Zahl n (1 ≤ n ≤ 10^5) — die Anzahl der Elemente des Arrays. Die zweite Zeile enthält n durch Leerzeichen getrennte ganze Zahlen — die Elemente des Arrays (der Betrag überschreitet 10^4 nicht).
Ausgabeformat
Eine ganze Zahl — die maximal mögliche Summe des Subarrays nach dem Entfernen von höchstens einem Element.
Beispiele
Beispiel 1
EINGABE
5 1
1 2 3 2 4
AUSGABE
9
Beispiel 2
EINGABE
2
7 1
-4 3
AUSGABE
8
Beispiel 3
EINGABE
6
2 -1 2 3 4 -5
AUSGABE
11
main.java