#L3737. 「LNOI2022」吃

    ID: 4386 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 8.5 上传者: 标签>贪心动态规划难度提高+/省选-其他构造思维排序

「LNOI2022」吃

#3737. 「LNOI2022」吃

题目描述

小 A 很喜欢吃东西。

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

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

注意:你需要最大化体重并将该最大值对 109+7\boldsymbol{10^9 + 7} 取模,而非最大化体重对 109+7\boldsymbol{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+710^9 + 7 取模后的结果。


样例 1

输入

5
1 2 3 4 5
100 200 300 400 500

输出

18060

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

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

样例 2-9

见附加文件中 food2.infood9.in 和对应的 .ans 文件。


数据范围与提示

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

测试点编号 nn \le 特殊性质
1 10 DE
2 E
3 AE
4 E
5 20 DE
6 E
7-8
9 2000 D
10-12
13 5×1055 \times 10^5 BD
14 B
15 C
16-17 10510^5
18-20 5×1055 \times 10^5

特殊性质说明

  • Aai=1a_i = 1
  • Baibia_i \ge b_i
  • Cai,bia_i, b_i[1,106][1, 10^6] 内独立均匀随机生成
  • Dai2a_i \ge 2
  • Eai4a_i \le 4