#include <iostream>
using namespace std;
#include<bits/stdc++.h>

int main() {
	// your code goes here
	int arr[] = {-2,1,-3,4,-1,2,1,-5,4};
	int n = sizeof(arr)/sizeof(int);
	//there are i+1 subarrays ending at i we have to find the maximum subarray sum ending at i 
	vector<int>p1; int maxsum = INT_MIN; int curr_sum = arr[0];
	for(int i = 1 ; i <n ; i++){
	    curr_sum = max({curr_sum+arr[i],arr[i],0}); //curr_sum = p1[i] =max( p[i-i]+ arr[i],arr[i],0)
	   maxsum =max(curr_sum,maxsum);
	   
	}
	cout<<maxsum;
	
	return 0;
}