Problem6509--发送快递(express)

6509: 发送快递(express)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

小华有 $n$ 本不同的书(编号为 $1 \sim n$),重量分别是 $a_1, a_2, ..., a_n$ 公斤(重量可以相同)。
他想把这些书以快递的方式发给自己的好朋友,要求每个包裹的重量不能超过 $m$ 公斤(可以等于 $m$ 公斤),并且小华想把其中的一些书(一组书,用书的编号给出)放在一个包裹里,应该如何打包才能使快递的件数最少?

Input

第一行,包含两个整数 $n,m$,之间用一个空格隔开,分别表示书的数量和快递包裹的最大重量。
第二行 $n$ 个整数 $a_i$,表示 $n$ 本书的重量,每两个整数之间用一个空格隔开。
第三行一个整数 $s$,表示一共有 $s$ 组书(每组书需要打包在一起)。如果 $s=0$,则无此限制。数据保证每组书的重量不超过 $m$。
第四行开始共 $s$ 行,每行若干个整数,表示必须放在一个包裹里的书的编号,每两个整数之间用一个空格隔开。

Output

输出文件一行,一个整数,即快递最少件数。

Constraints

对于 $40\%$ 的数据,$1 ≤ n ≤ 10^5,\ 1 ≤ a_i ≤ 100,\ s=0$,$m$ 的值保证有解。
对于 $100\%$ 的数据,$1 ≤ n ≤ 10^5,\ 1 ≤ a_i≤ 100,\ 0 ≤ s ≤ 100$,$m$ 的值保证有解。

Sample 1 Input

5 10
8 4 8 2 5 0
0

Sample 1 Output

3

HINT

题目来源:CSP-X2021 山东省小学组二轮试题,T2。

Source/Category