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。 第二组数据中,所有星星的体积都为偶数,但是收藏瓶的体积为奇数,所以不存在合法的方案。 ![](https://cdn.luogu.com.cn/upload/image_hosting/pqbpwa9h.png) 对于所有数据:T≤3,1≤n≤10^5,1≤m,Li≤2n,1≤v i≤2,1≤bi≤10^6