#arc0314. [arc031_4]買い物上手

[arc031_4]買い物上手

问题

高桥君沉迷于游戏中。在这个游戏中,当满足某些物品组合时,可以获得经验值。给定物品的价格和根据物品组合可获得的经验值列表,请聪明地选择购买的物品,以最大化 "获得的经验值 ÷ 花费的钱"。但要注意,每种物品至少购买一个才能获得经验值。


输入

输入通过标准输入以以下格式给出:

NN MM S1S1 S2S2 ... SNSN T1T1 T2T2 ... TMTM K1K1 A1,1A1,1 A1,2A1,2 ... A1,K1A1,K1 K2K2 A2,1A2,1 A2,2A2,2 ... A2,K2A2,K2 : KNKN AN,1AN,1 AN,2AN,2 ... AN,KNAN,KN

  • 第一行包含两个整数 N(1N100)N (1 ≤ N ≤ 100)M(1M100)M (1 ≤ M ≤ 100),表示可以获得经验值的组合数量和物品种类数。
  • 第二行包含 NN 个整数,表示可以获得的经验值大小 Si(1Si100)Si (1 ≤ Si ≤ 100)
  • 第三行包含 MM 个整数,表示物品价格 Ti(1Ti100)Ti (1 ≤ Ti ≤ 100)
  • 接下来的 NN 行中,每行包含两个整数 Ki(1Ki10)Ki (1 ≤ Ki ≤ 10)KiKi 个整数 Ai,j(1Ai,jM,Ai,j<Ai,j+1)Ai,j (1 ≤ Ai,j ≤ M, Ai,j < Ai,j+1),表示可以获得经验值的组合中包含的物品种类数量和物品编号。

输出

输出 "获得的经验值 ÷ 花费的钱" 的最大值。结果小数点后的绝对误差或相对误差应不大于 10410^{-4}。请在输出末尾包含换行符。

子任务

本问题共有 2 个子任务,每个子任务分别针对一组数据,按照下列要求得分:

  • 当满足 N10N ≤ 10 的数据时,可获得 50 分。
  • 对于没有额外限制的数据,与上述数据分开计算,可获得额外的 50 分。

示例输入1

3 4
4 3 2
4 2 1 10
2 1 2
2 1 3
3 2 3 4

示例输出1

1

购买物品 1、物品 2 和物品 3,花费的钱为 7,获得的经验值为 4 + 3 = 7。


示例输入2

5 5
7 1 3 6 6
6 3 2 6 5
1 2
2 2 3
4 1 2 4 5
2 2 4
2 2 3

示例输出2

2.8