問題一覧 > 通常問題

No.2008 Super Worker

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

問題文

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

入力

$N$
$A_1\ A_2\ \cdots A_N$
$B_1\ B_2\ \cdots B_N$

$1 \le N \le 2 \times 10^5$
$1 \le A_i,\ B_i \le 10^6\ (1 \le i \le N)$
入力はすべて整数

出力

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

サンプル

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

【$1$ 番目の仕事を先にする場合】
 $1$ 番目の仕事で $30$ 、 $2$ 番目の仕事で $40$ 、合計 $70$ の給料を得ることができます。

【$2$ 番目の仕事を先にする場合】
 $2$ 番目の仕事で $20$ 、 $1$ 番目の仕事で $90$ 、合計 $110$ の給料を得ることができます。

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

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

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

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

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