logo AlgoBeat OnlineJudge
登录 注册

#217030. [ROI 2026 Day2] 火星背包

内存限制:1024 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

由于本题测试数据远大于 4GB,超过洛谷评测上限,子任务 9 中部分测试点被删除,请在 https://www.luogu.com.cn/problem/U697179 中评测。

由于测试数据较大,评测时可能需要 2-4 分钟时间加载测试数据。本题无法开放测试数据下载。您也可以先在上述链接中进行自测,然后再提交本题,以降低等待时间。


火星人马文正在整理背包。他面前摆着 件物品,编号为 。每件物品有两个属性:第 件物品具有奇怪度 价值 。奇怪度是一个非负整数,其二进制表示不超过 位();价值是一个非负整数,不超过 )。

一组物品的总价值等于其中所有物品的价值之和,而总奇怪度定义为其中所有物品奇怪度的按位“或”运算结果。

马文称一组物品是有价值的,当且仅当其总价值不小于 。对于每个 ),马文希望从编号不超过 的物品中选出一个有价值的子集,使得该子集的总奇怪度尽可能小。

一组整数的按位“或”运算定义如下:考虑这些数的二进制表示,则结果数的第 位为 ,当且仅当这些数中至少有一个数的第 位为 。在编程语言中,该运算用符号 表示。例如,

输入格式

第一行包含三个整数 , , ),分别表示物品数量、奇怪度二进制位数的上限以及有价值子集的最低总价值。

接下来的 行,每行包含两个整数 ),分别表示第 件物品的奇怪度和价值。

输出格式

输出 个数,第 个数应等于从前 个物品中选出的有价值子集的最小总奇怪度。如果无法选出这样的子集,则输出

样例

样例输入 1

5 4 12
8 7
2 6
3 6
1 12
3 5

样例输出 1

-1
10
3
1
1

数据范围与提示

说明

对于 ,只有一件物品,奇怪度为 ,价值为 。由于无法选出总价值不小于 的子集,答案为

对于 ,有两件物品,唯一有价值的选择是取全部两件物品,总奇怪度为

对于 ,任意包含至少两件物品的子集都是有价值的。最优方案是选取第二件和第三件,总奇怪度为

对于 ,可以只取第四件物品,其价值已足够,奇怪度为 ,达到了最小可能值。对于 ,同样只取第四件物品是最优的。

子任务

子任务 分数 额外限制 依赖子任务
1 10 --
2 11 1
3 14 1–2
4 13 所有 均为 的幂 --
5 11 -- -- 1–2
6 18 1–3
7 6 1–4, 6
8 -- 1–4, 6–7
9 11 -- 1–8

翻译由 DeepSeek V4 Pro 完成