#USACO1631. 栅栏围栏

栅栏围栏

题目描述

农夫约翰想要在他的土地周围建起栅栏。

他已经设计好了围栏的形状,甚至连围栏柱都立好了,但是他却遇到了问题。

当地的木材商给他提供了若干个各种长度的木板。

但是,这些长度未必是他需要的,因此,他要对木板进行切割,从而得到理想长度的木板用作围挡。

例如,99 英尺长的木板可以切割成 55 英尺和 44 英尺两块木板,也可以切割成三块 33 英尺的木板。

现在,给定木材商提供的木板的相关信息以及自己所需木板的相关信息。

请你计算,最多可以从提供的木板中切割出多少个自己想要的木板。

输入格式

第一行包含整数 𝑁𝑁,表示木材商提供的木板数量。

接下来 𝑁𝑁 行,每行包含一个整数,表示一个提供木板的长度。

再一行,包含整数 𝑅𝑅,表示所需木板的数量。

接下来 𝑅𝑅 行,每行包含一个整数,表示一个所需木板的长度。

输出格式

输出一个整数,表示能够从提供木板中得到的所需木板的最大数量。

4
30
40
50
25
10
15
16
17
18
19
20
21
25
24
30
7

提示

1𝑁50,1≤𝑁≤50,

1𝑅1023,1≤𝑅≤1023,

所提供木板长度不超过10000, 所需木板长度不超过128