#include #pragma GCC optimize("Ofast") using namespace std; int main() { long long N; cin >> N; long long a[N]; for (int i = 0; i < N; i++) cin >> a[i]; long long max_ = a[0], min_ = a[0]; for (int i = 1; i < N; i++) { max_ = max({ max_ + a[i], max_ - a[i], max_ * a[i], (a[i] ? max_ / a[i] : max_ * a[i]), min_ + a[i], min_ - a[i], min_ * a[i], (a[i] ? min_ / a[i] : min_ * a[i]), }); min_ = min({ max_ + a[i], max_ - a[i], max_ * a[i], (a[i] ? max_ / a[i] : max_ * a[i]), min_ + a[i], min_ - a[i], min_ * a[i], (a[i] ? min_ / a[i] : min_ * a[i]), }); } cout << max_ << endl; }