U507965 纸星星(star)
题目描述
小 C 很喜欢折纸星星。他有 m个专门用于收集纸星星的收藏瓶,第 i个收藏瓶的体积为 i ,小 C 会折小星星和大星星,其中小星星的体积为 1,大星星的体积为 2。这个时候,小 C 折了 n 颗纸星星,第 i 颗纸星星的体积为 vi 和美观程度 bi ,其中 vi 只可能为 1 或者 2。
对于每个收藏瓶,现在小 C 向你提问:是否存在选法,使得能恰好装满整个收藏瓶(即所有选中纸星星的总体积等于Li),如果存在,请告诉他所有可行方案中,瓶中纸星星的美观程度之和的最大值;否则告诉小 C 不存在这样的选法。
注意本题的输入输出包含 T 组数据,详情请仔细阅读【输入格式】和【输出格式】。
输入格式
第一行有一个正整数 T,表示数据组数。
接下来依次描述每组数据。对于每组数据:
• 第一行有两个正整数 n 和 m,表示纸星星的个数、收藏瓶的个数;
• 第二行包含 n 个正整数 vi,依次表示第 i 颗纸星星的体积大小;
• 第三行包含 n 个正整数 bi,依次表示第 i 颗纸星星的美观程度;
• 第四行包含 m 个正整数 Li,依次表示第 i 个收藏瓶的体积。
输出格式
共T行,依次表示每组数据的答案。
对于每组数据,输出一行 m 个数,第 i 个数表示,如果存在装满第 i 个收藏瓶的方案,输出美观程度和的最大值;否则输出“-1”表示不存在方案。
说明/提示
【样例1解释】
第一组数据中,当 L=5 时,最优方案选择第 1、2、3 颗纸星星,此时美观程度的和为 5+11+9=25;当 L=6 的时候,最优方案选择第 2、3、5 颗纸星星,此时美观程度的和11+9+8=28。
第二组数据中,所有星星的体积都为偶数,但是收藏瓶的体积为奇数,所以不存在合法的方案。

对于所有数据:T≤3,1≤n≤10^5,1≤m,Li≤2n,1≤v i≤2,1≤bi≤10^6