#756. 自学(self)

自学(self)

题目描述

在 塔尖 高中高一的第三个学期的 mm 个星期的时间内,有 nn 门课,编号为 1∼n1 \sim n。每个星期有 nn 个课时,第 ii 个课时上课程 ii 的一节课。

翁老师是一位高一学生。对于 n×mn \times m 个课时中的每一个,他会选择如下行动中的一个:

  • 行动 1:翁老师去上课。如果他去上了课程 ii 的一节课,那么他对课程 ii 的理解程度会增加 aia_i。
  • 行动 2:翁老师不去上课。他转而选择任意一门课,并且自学选中的那门课。如果他选中了课程 ii 进行了时长为一课时的自学,那么他对课程 ii 的理解程度会增加 bib_i。

一开始,对每门课的理解程度都为 00。由于翁老师想要在课后练习算法竞赛,他在非上课时间内不会学习。当第三个学期的所有课时结束后,期末考就会举行。

翁老师不想挂科。所以他想要最大化在期末考时对每门课的理解程度的最小值。

给定学期的长度,课程的数量,以及对理解程度的提升数值,请写一个程序计算在期末考时对每门课的理解程度的最小值的最大可能值。

输入格式

第一行,两个正整数 n,mn, m。

第二行,nn 个正整数 a1,a2,…,ana_1, a_2, \ldots, a_n。

第三行,nn 个正整数 b1,b2,…,bnb_1, b_2, \ldots, b_n。

输出格式

输出一行,一个数,表示在期末考时对每门课的理解程度的最小值的最大可能值。

3 3
19 4 5
2 6 2
18
2 1
9 7
2 6
7
5 60000
630510219 369411957 874325200 990002527 567203997
438920902 634940661 593780254 315929832 420627496
41397427274960
4 25
1 2 3 4
1 2 3 4
48

提示

样例 1 解释

举个例子,如果翁老师按如下方式学习,则他对课程 1,2,31, 2, 3 的理解程度将分别为 19,18,1919, 18, 19。

  • 第一周课程 11 的课:自学课程 22;
  • 第一周课程 22 的课:自学课程 22;
  • 第一周课程 33 的课:去上课程 33 的课;
  • 第二周课程 11 的课:去上课程 11 的课;
  • 第二周课程 22 的课:自学课程 33;
  • 第二周课程 33 的课:去上课程 33 的课;
  • 第三周课程 11 的课:自学课程 33;
  • 第三周课程 22 的课:自学课程 22;
  • 第三周课程 33 的课:去上课程 33 的课。

由于对每门课的最小的理解程度不能大于等于 1919,输出 1818。

这个样例满足子任务 3,53, 5 的限制。

样例 2 解释

这个样例满足子任务 1,3,51, 3, 5 的限制。

样例 3 解释

这个样例满足子任务 3,53, 5 的限制。

样例 4 解释

这个样例满足子任务 2,3,4,52, 3, 4, 5 的限制。

数据范围

对于 100%100 \% 的数据,1≤n≤3×1051 \le n \le 3 \times {10}^5,1≤m≤1091 \le m \le {10}^9,1≤ai,bi≤1091 \le a_i, b_i \le {10}^9。

本题采用捆绑测试。

子任务编号 特殊性质 分值
11 m=1m=1 1010
22 n⋅m≤3×105,ai=bin \cdot m \le 3 \times {10}^5,a_i = b_i 2525
33 n⋅m≤3×105n \cdot m \le 3 \times {10}^5 2727
44 ai=bia_i = b_i 2929
55 无 99