atcoder#ABC144E. [ABC144E] Gluttony

[ABC144E] Gluttony

题目描述

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

大会では 1 1 から N N までの番号がついた N N 個の食べ物が用意されており、食べ物 i i 食べにくさFi F_i です。大会のルールは以下の通りです。

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

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

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

输入格式

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

N N K K A1 A_1 A2 A_2 ... ... AN A_N F1 F_1 F2 F_2 ... ... FN F_N

输出格式

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

题目大意

【题目描述】

高桥君参加大胃王比赛。比赛由 NN 人组成的团队为基本单位参赛,高桥君的队伍的队员从 1N1\sim N 编号。第 ii 名队员的消化代价为 AiA_i

比赛有 NN 种不同的食物,每位队员需要负责吃掉其中一种食物,不能有两名队员吃同一种食物,也不能让一名队员吃多与一种食物。第 jj 种食物的难吃程度为 FjF_j。 消化代价 xx 的队员吃完难吃程度 yy 的食物需要花费 x×yx\times y 秒。 整个队伍的成绩是 NN 名队员吃完食物花费时间的最大值。

比赛前,高桥君的队伍会进行修行。一次修行可以将一名消化代价大于 00 的队员的消化代价减少 11。由于修行需要消耗庞大的食费,因此最多只能进行 KK 次修行。

通过修行和适当选择每位队员吃的食物,高桥队在比赛中能够获得的最好成绩是多少?

【输入格式】

11 行,两个正整数 N,KN,K

22 行,NN 个正整数 A1,A2,,ANA_1,A_2,\cdots,A_N

33 行,NN 个正整数 F1,F2,,FNF_1,F_2,\cdots,F_N

【输出格式】

输出高桥队的最好成绩。

【样例 #1 说明】

11 号队员进行 44 次修行,吃 22 号食物,花费 00 秒。

22 号队员进行 11 次修行,吃 33 号食物,花费 11 秒。

33 号队员进行 00 次修行,吃 11 号食物,花费 22 秒。

总成绩取最大值 22 秒。

【数据说明】

1N2×1051 \le N \le 2\times 10^5

0K10180 \le K \le 10^{18}

1Ai1061 \le A_i \le 10^6

1Fi1061 \le F_i \le 10^6

3 5
4 2 1
2 3 1
2
3 8
4 2 1
2 3 1
0
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

提示

制約

  • 入力はすべて整数
  • 1  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 0  K  1018 0\ \leq\ K\ \leq\ 10^{18}
  • 1  Ai  106 (1  i  N) 1\ \leq\ A_i\ \leq\ 10^6\ (1\ \leq\ i\ \leq\ N)
  • 1  Fi  106 (1  i  N) 1\ \leq\ F_i\ \leq\ 10^6\ (1\ \leq\ i\ \leq\ N)

Sample Explanation 1

下のようにすることで、チーム全体の成績は 2 2 になります。 - メンバー 1 1 4 4 回修行させ、食べ物 2 2 を割り当てます。完食にかかる時間は (44) × 3 = 0 (4-4)\ \times\ 3\ =\ 0 秒です。 - メンバー 2 2 1 1 回修行させ、食べ物 3 3 を割り当てます。完食にかかる時間は (21) × 1 = 1 (2-1)\ \times\ 1\ =\ 1 秒です。 - メンバー 3 3 0 0 回修行させ、食べ物 1 1 を割り当てます。完食にかかる時間は (10) × 2 = 2 (1-0)\ \times\ 2\ =\ 2 秒です。 チーム全体の成績を 2 2 より小さくすることはできないので、答えは 2 2 です。

Sample Explanation 2

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