#include using namespace std; void printVect(vector> vect){ for(auto i : vect){ for(auto j : i){ cout << j << " "; } cout << endl; } cout << endl; } vector> sub(vector A){ vector> v; for(int i=0;i s(A.begin()+i,A.begin()+i+l); v.push_back(s); } } return v; } int value(vector v){ int sum = 0; if(v.size()==1) return v[0]; for(int i=0;i A) { vector> subArrays = sub(A); //printVect(subArrays); int max = -1000000; int val; for(auto v:subArrays){ val = value(v); //cout << "val: " << val << endl; if(val > max) max = val; } return max; } int main() { int n; cin >> n; vector A(n); for(int A_i = 0; A_i < n; A_i++){ cin >> A[A_i]; } long result = largestValue(A); cout << result << endl; return 0; }