问题描述
一个地区包含n个村庄,每个村庄发布了一些委托任务,需要冒险者的帮助。
冒险者公会共有m位冒险者。某位冒险者具有能力值x,这表示他能够完成难度值小于等于x的委托任务。每位冒险者最多只能出击一轮,在这一轮中,他们可以不重复地通过若干个村庄。
当一名冒险者路过一个村庄时,他最多只能完成该村庄的一个委托任务,且这个委托的难度不能超过冒险者的能力值。冒险者也可以选择在路过一些村庄时不完成任何委托任务。同样的,每个委托任务只需要被完成一次。
无论冒险者完成多少任务,这名冒险者出击一轮的代价都等同于冒险者的能力值:
现在的目标是确定一种冒险者的出勤方案,以使得完成所有村庄的委托任务的总代价最小。
输入格式
第一行输入两个整数m和n,分别表示冒险者的数量和村庄的数量,0<
m,n<103。
第二行m个整数x1,Z₂,…T;,…Zm,代表每位冒险者的能力值,0<
x;<10^3,
接下来n行,每行代表一个村庄,每行第一个整数k表示该村庄的委托数量,此后k个不大于10³的正整数表示该村庄的每个委托任务的难度值,