#include using namespace std; int largestSum(vector a, int size) { int max_so_far = INT_MIN, max_ending_here = 0, start =0, end = 0, s=0; for (int i=0; i< size; i++ ) { max_ending_here += a[i]; if (max_so_far < max_ending_here) { max_so_far = max_ending_here; start = s; end = i; } if (max_ending_here < 0) { max_ending_here = 0; s = i + 1; } } int j = start; int n = start; int sum = 0; while(n < (end)) { sum += a[n]*a[j + 1]; ++j; if(j == end) { j = start + n; n++; } } return sum; } int main() { int n; cin >> n; vector A(n); for(int A_i = 0; A_i < n; A_i++){ cin >> A[A_i]; } cout << largestSum(A, n); return 0; }