37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
Local $iArray[11] = [-1, -2, 3, 5, 6, -2, -1, 4, -4, 2, -1]
|
|
GREAT_SUB($iArray)
|
|
Local $iArray[5] = [-1, -2, -3, -4, -5]
|
|
GREAT_SUB($iArray)
|
|
Local $iArray[15] = [7, -6, -8, 5, -2, -6, 7, 4, 8, -9, -3, 2, 6, -4, -6]
|
|
GREAT_SUB($iArray)
|
|
|
|
Func GREAT_SUB($iArray)
|
|
Local $iSUM = 0, $iBEGIN_MAX = 0, $iEND_MAX = -1, $iMAX_SUM = 0
|
|
For $i = 0 To UBound($iArray) - 1
|
|
$iSUM = 0
|
|
For $k = $i To UBound($iArray) - 1
|
|
$iSUM += $iArray[$k]
|
|
If $iSUM > $iMAX_SUM Then
|
|
$iMAX_SUM = $iSUM
|
|
$iEND_MAX = $k
|
|
$iBEGIN_MAX = $i
|
|
EndIf
|
|
Next
|
|
Next
|
|
ConsoleWrite("> Array: [")
|
|
For $i = 0 To UBound($iArray) - 1
|
|
If $iArray[$i] > 0 Then ConsoleWrite("+")
|
|
ConsoleWrite($iArray[$i])
|
|
If $i <> UBound($iArray) - 1 Then ConsoleWrite(",")
|
|
Next
|
|
ConsoleWrite("]" & @CRLF & "+>Maximal subsequence: [")
|
|
$iSUM = 0
|
|
For $i = $iBEGIN_MAX To $iEND_MAX
|
|
$iSUM += $iArray[$i]
|
|
If $iArray[$i] > 0 Then ConsoleWrite("+")
|
|
ConsoleWrite($iArray[$i])
|
|
If $i <> $iEND_MAX Then ConsoleWrite(",")
|
|
Next
|
|
ConsoleWrite("]" & @CRLF & "!>SUM of subsequence: " & $iSUM & @CRLF)
|
|
EndFunc ;==>GREAT_SUB
|