P12234 [蓝桥杯 2023 国 Java A] 最大算式

题目描述

给定 $n$ 个非负整数 $A_i$,你可以在不改变这些数顺序的前提下任意在他们之间插入 $\tt{+},\tt{*},\tt{(},\tt{)}$ 四种符号。 请问在得到的算式合法的前提下,算式的结果最大可以是多少? 由于结果很大,你只需要输出答案对 $10^9 + 7$ 取模的结果即可。

输入格式

输入的第一行包含一个整数 $n$。 第二行包含 $n$ 个整数,分别表示 $A_1, A_2, \cdots, A_n$,相邻两个整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

说明/提示

### 样例说明 $(1 + 2) \times (1 + 1 + 1) \times (2 + 1) = 27$。 ### 评测用例规模与约定 - 对于 $40\%$ 的评测用例,$n \leq 5000$; - 对于所有评测用例,$2 \leq n \leq 10^5$,$0 \leq A_i \leq 10^9$。