summaryrefslogtreecommitdiff
path: root/progs/a608.py
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
committerSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
commitf05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch)
treeeebbb2489144112d3288393e354d19375a0aa088 /progs/a608.py
Init
Diffstat (limited to 'progs/a608.py')
-rw-r--r--progs/a608.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/progs/a608.py b/progs/a608.py
new file mode 100644
index 0000000..3d66438
--- /dev/null
+++ b/progs/a608.py
@@ -0,0 +1,15 @@
+def max_sum(arr, n):
+ MSIBS = arr[:]
+ for i in range(n):
+ for j in range(0, i):
+ if arr[i] > arr[j] and MSIBS[i] < MSIBS[j] + arr[i]:
+ MSIBS[i] = MSIBS[j] + arr[i]
+ MSDBS = arr[:]
+ for i in range(1, n + 1):
+ for j in range(1, i):
+ if arr[-i] > arr[-j] and MSDBS[-i] < MSDBS[-j] + arr[-i]:
+ MSDBS[-i] = MSDBS[-j] + arr[-i]
+ max_sum = float("-Inf")
+ for i, j, k in zip(MSIBS, MSDBS, arr):
+ max_sum = max(max_sum, i + j - k)
+ return max_sum \ No newline at end of file