atcoder#ABC144E. [ABC144E] Gluttony

[ABC144E] Gluttony

配点: 500500

問題文

高橋君は早食い大会に出ることにしました。この大会は NN 人でのチーム戦であり、高橋君のチームは年齢順に 11 から NN までの番号がついた NN 人のメンバーからなります。メンバー ii消化コストAiA_i です。

大会では 11 から NN までの番号がついた NN 個の食べ物が用意されており、食べ物 ii食べにくさFiF_i です。大会のルールは以下の通りです。

  • 11 個の食べ物につき 11 人のチームメンバーを割り当てる。同じメンバーを複数の食べ物に割り当てることはできない。
  • あるメンバーについて、そのメンバーの消化コストが xx、担当する食べ物の食べにくさが yy のとき、その食べ物の完食には x×yx \times y 秒かかる。
  • NN 人のメンバーそれぞれが完食にかかる時間のうち最大値が、チーム全体の成績となる。

コンテストの前に、高橋君のチームは修行をすることにしました。各メンバーは、自分の消化コストが 00 より小さくならない限り、11 回修行するごとに自分の消化コストを 11 減らすことができます。ただし、修行には膨大な食費がかかるため、NN 人合計で KK 回までしか修行することができません。

各メンバーの修行回数と担当する食べ物を適切に選んだとき、チーム全体の成績は最小でいくらになるでしょうか。

制約

  • 入力はすべて整数
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0K10180 \leq K \leq 10^{18}
  • 1Ai106 (1iN)1 \leq A_i \leq 10^6\ (1 \leq i \leq N)
  • 1Fi106 (1iN)1 \leq F_i \leq 10^6\ (1 \leq i \leq N)

入力

入力は以下の形式で標準入力から与えられます。

NN KK

A1A_1 A2A_2 ...... ANA_N

F1F_1 F2F_2 ...... FNF_N

出力

チーム全体の成績の最小値を出力してください。

3 5
4 2 1
2 3 1
2

下のようにすることで、チーム全体の成績は 22 になります。

  • メンバー 1144 回修行させ、食べ物 22 を割り当てます。完食にかかる時間は (44)×3=0(4-4) \times 3 = 0 秒です。
  • メンバー 2211 回修行させ、食べ物 33 を割り当てます。完食にかかる時間は (21)×1=1(2-1) \times 1 = 1 秒です。
  • メンバー 3300 回修行させ、食べ物 11 を割り当てます。完食にかかる時間は (10)×2=2(1-0) \times 2 = 2 秒です。

チーム全体の成績を 22 より小さくすることはできないので、答えは 22 です。

3 8
4 2 1
2 3 1
0

必ずしも KK 回ちょうど修行する必要はありません。

11 14
3 1 4 1 5 9 2 6 5 3 5
8 9 7 9 3 2 3 8 4 6 2
12