問題一覧 > 通常問題

No.2008 Super Worker

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 152
作問者 : Kiri8128 / テスター : 👑 Kazun
11 ProblemId : 6901 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-07-19 23:52:17

問題文

きりさんはアルバイトをしています。最初、きりさんのバイトレベルは 11 です。 NN 件の仕事があり、これらを好きな順番ですべて引き受けることにしました。 バイトレベルが xx のときに i (1iN)i\ (1 \le i \le N) 番目の仕事をすると、給料が AixA_i \cdot x もらえて、その後バイトレベルが BixB_i \cdot x になります。 得られる給料の合計の最大値はいくらでしょうか。答えを 109+710^9+7 で割った余りを出力してください。

入力

NN
A1 A2 ANA_1\ A_2\ \cdots A_N
B1 B2 BNB_1\ B_2\ \cdots B_N

1N2×1051 \le N \le 2 \times 10^5
1Ai, Bi106 (1iN)1 \le A_i,\ B_i \le 10^6\ (1 \le i \le N)
入力はすべて整数

出力

得られる給料の合計の最大値を 109+710^9+7 で割った余りを出力してください。
最後に改行してください。

サンプル

サンプル1
入力
2
30 20
2 3
出力
110

11 番目の仕事を先にする場合】
 11 番目の仕事で 303022 番目の仕事で 4040 、合計 7070 の給料を得ることができます。

22 番目の仕事を先にする場合】
 22 番目の仕事で 202011 番目の仕事で 9090 、合計 110110 の給料を得ることができます。

よって得られる金額の最大値は 110110 です。

サンプル2
入力
2
7000 1000000
1000000 1
出力
0

109+710^9+7 で割った余りを出力することに注意してください。

サンプル3
入力
8
3 14 15 92 65 35 89 79
2 7 1 8 2 8 1 8
出力
2048669

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。