fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int kadane(vector<int>& arr){
  5.  
  6. int n=arr.size();
  7. int current, prev=0,maxsum=0;
  8. for(int i=1;i<=n;i++){
  9. current=max(prev+arr[i-1],arr[i-1]); //
  10. int current1=max(current,0); //
  11. prev=current1;
  12. maxsum=max(maxsum,current1);
  13. }
  14. return maxsum;
  15.  
  16. }
  17.  
  18. int main() {
  19. // kadane's algorithm
  20. vector<int> arr={-1,1,2,3,-10,5,6,7};
  21. int result=kadane(arr);
  22. cout<<result<<endl;
  23. return 0;
  24. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
18