Advertisement
pdpd123

maximum subarray sum

Sep 16th, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.42 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int a[10000010], dp[10000010];
  5.  
  6. int main(){
  7.     int n;
  8.     cin >> n;
  9.     for(int i=0; i<n; i++) cin >> a[i];
  10.     for(int i=0; i<n; i++)
  11.         dp[i] = max(0, dp[i-1] + a[i]);
  12.     bool all_neg = true;
  13.     for(int i=0; i<n; i++) if(a[i] >= 0) all_neg = false;
  14.     if(all_neg) cout << *max_element(a, a+n) << endl;
  15.     else cout << *max_element(dp, dp+n) << endl;
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement