{"problem":{"name":"[THUPC 2023 初赛] 背包","description":{"content":"本题中，你需要解决完全背包问题。 有 $n$ 种物品，第 $i$ 种物品单个体积为 $v_i$、价值为 $c_i$。 $q$ 次询问，每次给出背包的容积 $V$，你需要选择若干个物品，每种物品可以选择任意多个（也可以不选），在选出物品的体积的和**恰好**为 $V$ 的前提下最大化选出物品的价值的和。你需要给出这个最大的价值和，或报告不存在体积和恰好为 $V$ 的方案。 为了体现你解决 NP","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P6"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9140"},"statements":[{"statement_type":"Markdown","content":"本题中，你需要解决完全背包问题。\n\n有 $n$ 种物品，第 $i$ 种物品单个体积为 $v_i$、价值为 $c_i$。\n\n$q$ 次询问，每次给出背包的容积 $V$，你需要选择若干个物品，每种物品可以选择任意多个（也可以不选），在选出物品的体积的和**恰好**为 $V$ 的前提下最大化选出物品的价值的和。你需要给出这个最大的价值和，或报告不存在体积和恰好为 $V$ 的方案。\n\n为了体现你解决 NP-Hard 问题的能力，$V$ 会远大于 $v_i$，详见数据范围部分。\n\n## Input\n\n第一行两个整数 $n,q$，表示物品种数和询问次数。\n\n接下来 $n$ 行每行两个整数 $v_i,c_i$ 描述一种物品。\n\n接下来 $q$ 行每行一个整数 $V$ 描述一次询问中背包的体积。\n\n## Output\n\n对于每组询问输出一行一个整数。若不存在体积和恰好为 $V$ 的方案，输出 `-1`；否则输出最大的选出物品的价值和。\n\n[samples]\n\n## Note\n\n#### 样例解释 1\n\n第二组询问的最优方案为：选择 $3$ 个物品 $1$ 和 $12499999998$ 个物品 $2$。\n\n#### 子任务\n\n对于所有测试数据，$1 \\le n \\le 50, 1 \\le v_i \\le 10^5, 1 \\le c_i \\le 10^6, 1 \\le q \\le 10^5, 10^{11} \\le V \\le 10^{12}$。\n\n#### 题目来源\n\n来自 2023 清华大学学生程序设计竞赛暨高校邀请赛（THUPC2023）初赛。\n\n题解等资源可在 <https://github.com/THUSAAC/THUPC2023-Pre> 查看。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9140","tags":["贪心","2023","O2优化","最短路","THUPC"],"sample_group":[["2 2\n6 10\n8 15\n100000000001\n100000000002\n","-1\n187500000000\n"]],"created_at":"2026-03-03 11:09:25"}}