/*** ***/ #include using namespace std; typedef long long ll; typedef long double ld; int main() { int n; cin >> n; ll A[n + 1]; A[0] = 0; for (int i = 1; i <= n; i++) { cin >> A[i]; } ll sum[n + 1]; ll el2[n + 1]; sum[0] = 0; el2[0] = 0; for (int i = 1; i <= n; i++) { sum[i] = sum[i - 1] + A[i]; el2[i] = el2[i - 1] + A[i] * A[i]; } ll ans = -1e16; for (int r = 1; r <= n; r++) { if (sum[r]*sum[r] > ans) for (int l = 1; l <= r; l++) { ans = max(ans, (sum[r] - sum[l - 1]) * (sum[r] - sum[l - 1]) - el2[r] + el2[l - 1]); } } cout << ans / 2 << endl; }