QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#6389. 主题

Statistics

兔子 Benson 正在上飞行学校!

他有 $n$ 个模块需要完成,编号从 $1$ 到 $n$。飞行课程共有 $k$ 个主题,编号从 $1$ 到 $k$。由于 Benson 是飞行新手,他每个主题的初始知识水平均为 $0$。

这 $n$ 个模块中的每一个都有完成所需的知识要求。具体来说,要完成模块 $i$,Benson 在所有主题 $j$ 上都需要至少 $r[i][j]$ 的知识水平。

完成一个模块还可以让 Benson 在某些主题上获得知识。完成模块 $i$ 后,他在主题 $j$ 上的知识水平会增加 $u[i][j]$。

形式化地,设 Benson 在主题 $j$ 上的知识水平为 $p[j]$。初始时,对于所有 $j$,都有 $p[j] = 0$。他仅当对于每个主题 $j$ 都有 $p[j] \ge r[i][j]$ 时,才能完成模块 $i$。完成模块 $i$ 后,对于每个主题 $j$,$p[j]$ 的值增加 $u[i][j]$。

Benson 可以按任意顺序完成模块,但每个模块最多只能完成一次。请帮助 Benson 确定他最多能完成多少个模块。

输入格式

程序必须从标准输入读取数据。

第一行包含两个空格分隔的整数 $n$ 和 $k$。

接下来有 $n$ 行。第 $i$ 行($1 \le i \le n$)包含 $k$ 个空格分隔的整数 $r[i][1], r[i][2], \dots, r[i][k]$,表示完成模块 $i$ 所需的知识要求。

再接下来有 $n$ 行。第 $i$ 行($1 \le i \le n$)包含 $k$ 个空格分隔的整数 $u[i][1], u[i][2], \dots, u[i][k]$,表示完成模块 $i$ 后获得的知识。

输出格式

程序必须输出到标准输出。

输出应包含一个整数,即 Benson 最多能完成的模块数量。

输出应仅包含单个整数。不要打印任何额外文本,例如“Enter a number”或“The answer is”。

子任务

对于所有测试用例,输入满足以下界限:

  • $1 \le n, k \le 10^6$
  • $n \cdot k \le 10^6$
  • $0 \le u[i][j], r[i][j] \le 10^9$ (对于所有 $1 \le i \le n$ 和 $1 \le j \le k$)。

你的程序将在满足以下限制的输入实例上进行测试:

子任务 分数 附加限制
1 12 $n = 1$
2 28 $1 \le n, k \le 100$
3 21 $k = 1$
4 39 无附加限制

样例

样例输入 1

3 3
0 0 0
7 9 2
7 8 9
7 8 2
7 7 7
8 10 9

样例输出 1

1

说明 1

Benson 只能完成模块 1,其知识要求为 $[0, 0, 0]$。完成之后,他在 3 个主题上分别获得了 7, 8, 2 的知识,但 $p = [7, 8, 2]$ 不足以让他完成任何其他模块。由于没有其他顺序能让 Benson 完成超过 1 个模块,最终答案为 1。

样例输入 2

4 3
5 1 0
0 1 5
0 0 0
7 7 7
0 5 6
1 1 1
8 2 0
8 1 4

样例输出 2

4

说明 2

Benson 可以按 3, 1, 2, 4 的顺序完成所有 4 个模块。

初始知识 $p = [0, 0, 0]$,他可以完成模块 3,知识增加 $u[3] = [8, 2, 0]$。 知识变为 $p = [8, 2, 0]$,他可以完成模块 1,知识增加 $u[1] = [0, 5, 6]$。 知识变为 $p = [8, 7, 6]$,他可以完成模块 2,知识增加 $u[2] = [1, 1, 1]$。 知识变为 $p = [9, 8, 7]$,他可以完成模块 4,知识增加 $u[4] = [8, 1, 4]$。

由于 Benson 可以完成所有 4 个模块,答案为 4。

样例输入 3

5 5
14 11 15 7 15
0 0 0 0 0
9 9 14 2 13
4 3 6 1 0
2 4 7 0 0
5 5 0 0 13
4 4 7 1 0
4 1 0 2 1
2 5 0 2 1
4 0 7 2 12

样例输出 3

4

说明 3

Benson 只能按 2, 4, 5, 3 的顺序完成 4 个模块。

初始知识 $p = [0, 0, 0, 0, 0]$,他可以完成模块 2,知识增加 $u[2] = [4, 4, 7, 1, 0]$。 知识变为 $p = [4, 4, 7, 1, 0]$,他可以完成模块 4,知识增加 $u[4] = [2, 5, 0, 2, 1]$。 知识变为 $p = [6, 9, 7, 3, 1]$,他可以完成模块 5,知识增加 $u[5] = [4, 0, 7, 2, 12]$。 知识变为 $p = [10, 9, 14, 5, 13]$,他可以完成模块 3,知识增加 $u[3] = [4, 1, 0, 2, 1]$。

此时,他拥有的知识 $p = [14, 10, 14, 7, 14]$ 不足以完成任何其他模块。由于没有其他顺序能让 Benson 完成超过 4 个模块,最终答案为 4。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.