#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++) { long long max_ = max__, min_ = min__; 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; }