#P8365. [LNOI2022] 吃

[LNOI2022] 吃

题目描述

小 A 很喜欢吃东西。

小 A 面前有 nn 份食物,第 ii 份有参数 aia_ibib_i。小 A 可以按照任意顺序吃掉这 nn 份食物。当她吃掉编号为 ii 的食物时,她可以选择将自己的体重乘以 aia_i 或者将自己的体重加上 bib_i。每份食物只能吃恰好一次。

小 A 的初始体重为 11,请求出她吃完 nn 份食物后能达到的最大体重。答案可能很大,你只需要输出其对 (109+7)({10}^9 + 7) 取模后的结果。

注意:你需要最大化体重并将该最大值对 (109+7)\bm{({10}^9 + 7)} 取模,而非最大化体重对 (109+7)\bm{({10}^9 + 7)} 取模的结果。

输入格式

第一行输入一个整数 nn 表示食物的数量。第二行 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n,第三行 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n,表示每份食物的参数。

输出格式

输出一个整数,表示小 A 可以得到的最大体重对 (109+7)({10}^9 + 7) 取模后的结果。

5
1 2 3 4 5
100 200 300 400 500

18060

提示

【样例解释 #1】

以下方案可以达到最大体重:

  • 吃掉第一份食物并选择将体重增加 100100,体重变为 101101
  • 吃掉第二份食物并选择将体重增加 200200,体重变为 301301
  • 吃掉第三份食物并选择将体重乘 33,体重变为 903903
  • 吃掉第四份食物并选择将体重乘 44,体重变为 36123612
  • 吃掉第五份食物并选择将体重乘 55,体重变为 1806018060

【样例 #2】

见附件中的 food/food2.infood/food2.ans

该组样例满足 n10n \le 10 和特殊性质 E。

【样例 #3】

见附件中的 food/food3.infood/food3.ans

该组样例满足 n20n \le 20 和特殊性质 E。

【样例 #4】

见附件中的 food/food4.infood/food4.ans

该组样例满足 n2000n \le 2000

【样例 #5】

见附件中的 food/food5.infood/food5.ans

该组样例满足特殊性质 A。

【样例 #6】

见附件中的 food/food6.infood/food6.ans

该组样例满足特殊性质 C。

【样例 #7】

见附件中的 food/food7.infood/food7.ans

该组样例满足特殊性质 D。

【样例 #8】

见附件中的 food/food8.infood/food8.ans

该组样例满足特殊性质 B。

【样例 #9】

见附件中的 food/food9.infood/food9.ans

【数据范围】

对于 100%100 \% 的测试数据,1n5×1051 \le n \le 5 \times {10}^51ai,bi1061 \le a_i, b_i \le {10}^6

测试点编号 nn \le 特殊性质
11 1010 DE
22 E
33 AE
44 E
55 2020 DE
66 E
77
88
99 20002000 D
1010
1111
1212
1313 5×1055 \times {10}^5 BD
1414 B
1515 C
1616
1717 105{10}^5
1818
1919 5×1055 \times {10}^5
2020

特殊性质 A:ai=1a_i = 1
特殊性质 B:aibia_i \ge b_i
特殊性质 C:ai,bia_i, b_i[1,106][1, {10}^6] 内独立均匀随机生成。
特殊性质 D:ai2a_i \ge 2
特殊性质 E:ai4a_i \le 4