From c2250cd9498435105e7b85d696fedba87472089a Mon Sep 17 00:00:00 2001
From: Bruno Freitas Tissei <bft15@inf.ufpr.br>
Date: Tue, 13 Feb 2018 11:36:13 -0200
Subject: [PATCH] Add kadane

Signed-off-by: Bruno Freitas Tissei <bft15@inf.ufpr.br>
---
 paradigm/kadane.cpp | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 paradigm/kadane.cpp

diff --git a/paradigm/kadane.cpp b/paradigm/kadane.cpp
new file mode 100644
index 0000000..8ad7c71
--- /dev/null
+++ b/paradigm/kadane.cpp
@@ -0,0 +1,31 @@
+/**
+ * Kadane
+ *
+ * Complexity (Time): O(n + m)
+ * Complexity (Space): O(n + m)
+ */
+
+int v[MAX];
+
+int kadane() {
+  // Maximum so far (msf), Maximum ending here (meh).
+  int msf = -0x3f3f3f3f, meh = 0;
+  int start = 0, end = 0, s = 0;
+
+  for (int i = 0; i < n; ++i) {
+    meh += v[i];
+
+    if (msf < meh) {
+      msf = meh;
+      start = s;
+      end = i;
+    }
+
+    if (meh < 0) {
+      meh = 0;
+      s = i + 1;
+    }
+  }
+
+  return msf;
+}
-- 
GitLab