小慕正在负责公司的一次团建出行安排。公司有多个部门,每个部门的人数各不相同。为了顺利出行,小慕联系了多家魔法出租车公司,每家公司都提供了不同的车型,且每种车型都有无数辆。 每个部门的人必须乘坐同一辆车,且每辆车只能搭载一个部门的人。小慕需要从这些出租车公司中,选择一个方案,使得所有出租车的尽可能少(从0开始计算)。如果有多个方案的空座数相同,则选择序号最小的公司。如果没有公司能够满足需求,则返回 `-1`。
提示:带虚线的词点一下有通俗解释。
输入描述
- 第一行输入一个整数 `n`,表示公司的部门数量。 - 第二行输入一个长度为 `n` 的数组 `depts`,其中每个元素表示一个部门的人数。 - 接下来输入 `k`(租车公司数量),然后对于每个租车公司: - 第一行输入该公司提供的车型数量 `m`。 - 第二行输入该公司提供的所有车型的载客量(一个整数列表)。 - `1 <= m, k <= 300` - `1 <= n <= 5000` - `1 <= depts[i] <= 10^5`
输出描述
- 输出一个整数,表示能使空座位最少的租车公司序号。如果没有公司能满足需求,输出 `-1`。
示例
示例 1
输入
3 10 8 15 2 3 8 15 12 4 20 4 15 4
输出
0
示例 2
输入
2 5 9 3 1 4 2 6 10 2 5 11
输出
1
示例 3
输入
2 10 10 2 4 2 9 8 3 1 7
输出
-1
时间限制 1000 ms · 内存限制 128 MB