Maximales Teilfeld mit Divide & Conquer-Algorithmus

Gegeben ist ein Array aus n Ganzzahlen. Mithilfe eines Divide & Conquer-Verfahrens soll ein zusammenhängendes Teilarray ermittelt werden, dessen Summe der enthaltenen Werte maximal ist.

Input

Die erste Zeile der Eingabe enthält eine ganze Zahl n – die Anzahl der Elemente im Array (1 ≤ n ≤ ).
Die nächste Zeile enthält n durch ein Leerzeichen getrennte Ganzzahlen, die die Elemente des Arrays darstellen .

Output

Das Programm soll eine einzige ganze Zahl ausgeben – die höchstmögliche Summe eines Teilarrays im gegebenen Array.

Beispiele

Eingabe
Ausgabe
9 -2 1 -3 4 -1 3 1 -4 -2
7
10 1 -2 3 4 -3 1 7 -10 -20 4
12

Erklärung

  1. -2 1 -3 4 -1 3 1 -4 -2 → Die Summe des markierten Teilarrays beträgt (4 - 1 + 3 + 1) = 7.
  1. 1 -2 3 4 -3 1 7 -10 -20 4 → 3 + 4 -3 + 1 + 7 = 12.
 

Constraints

Time limit: 5 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue