SP4063 MPIGS - Sell Pigs

题目描述

Mirko 在一个养猪场工作,该养猪场有 $M$ 个上锁了的猪圈,而 Mirko 却打不开任何猪圈,因为他没有钥匙。顾客一个接一个地来到农场。每个顾客都有几串猪圈的钥匙,并且想要购买一定数量的猪。关于当天计划访问农场的顾客的所有数据,Mirko 很早就知道了关于那天来农场顾客的所有数据,他可以制定一个销售计划,以便尽可能增加出售的猪的数量。更确切地说,整个流程如下:顾客到达,打开他有钥匙的所有猪圈,Mirko 从所有解锁的猪圈中向他出售一定数量的猪,如果 Mirko 愿意,他可以将剩余的猪重新分配到解锁的猪圈中。每个猪圈可以放置无限数量的猪。编写一个程序,找出他当天可以出售的最大猪的数量。 **注意**:顾客来的顺序**不可改变**,顾客来后、调整完后猪圈门会关闭。

输入格式

第一行两个整数 $M,N$,分别表示猪窝数与顾客数。猪舍从 $1$ 到 $M$ 编号,顾客从 $1$ 到 $N$ 编号。 第二行有 $M$ 个整数,表示每个猪圈的初始的猪的数量(每个猪舍中的猪的数量大于或等于 $0$ 且小于或等于 $1000$)。 接下来的 $N$ 行,按顺序描述每位顾客的信息(第 $i$ 位顾客的信息记录在第 $i+2$ 行)。格式如下:输入若干个数 $A\ K_1\ K_2\dots K_A\ B$,表示该顾客拥有编号为 $K_1, K_2,\dots, K_A$ 的猪舍钥匙 (按非递减顺序排列),并希望购买 $B$ 头猪。**注意**:$A$ 和 $B$ 的值可能为 $0$。

输出格式

输出一个数,表示最多能卖出的猪的数量。

说明/提示

对于 $100\%$ 的数据,$1\le M\le1000,1\le N\le100$。