diff --git a/Kadane_algo.cpp b/Kadane_algo.cpp new file mode 100644 index 0000000..3a011a3 --- /dev/null +++ b/Kadane_algo.cpp @@ -0,0 +1,25 @@ +#include +using namespace std; +// kadane's algorithm tells you about the longest contiguous subarray with maximum sum. +long long kadane(vector arr){ + long long ans = -1e18; + long long max = 0; + for(auto i:arr){ + max = max+i; + if(max>ans){ + ans = max; + }if(max<0){ + max = 0; + } + } + return ans; +} +int main(){ + int n; + cin >> n; + vector v(n); + for(auto &i:v){ + cin >> i; + } + cout << kadane(v) << endl; +}