#60887. 吝啬的吃货

    ID: 60887 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>计蒜客赛事普及T4/提高T1背包问题魔扣OJ

吝啬的吃货

暂无测试数据。

题目背景

小G 是个吃货,但是个吝啬的吃货。

对于一种食物(比如桃子啊,西瓜啊,大蒜啊~),小G 通常会对它们有两个定义:

  • 一个是好吃指数 $a_i$;
  • 一个是价钱 $b_i$。

如果要吃一个食物,自然要先买它,所以就要先付出代价。

而且 小G 的幸福指数计算方式非常奇怪,如果说吃的东西的异或和为 $A$,那么把这个 $A$ 转成二进制的数之后,如果第 $i$ 位(二进制最低位为第 $0$ 位)上为 $1$,那么就会增加 $c_i$ 的幸福值。

小G 想让幸福值减去总花费最大,你能帮帮它么?只需要告诉 小G 这个最大值是多少即可。

题目描述

有 $n$ 个物品,每个物品两种属性 $a_i,b_i$。可以从中选出若干物品,其代价为 $\sum b_i$。

对于选出来的数,设 $A=\oplus a_i$,那么对于 $A$ 二进制数中,若第 $i$ 位为 $1$,则有 $c_i$ 的收益。

注:这里的 $\oplus$ 指的是连续异或和。

求哪种选择物品的方案使得收益减代价的最大,输出最大的结果。可以不选。

输入格式

第一行两个整数 $n,m$,$n$ 表示物品个数,$m$ 表示数据的大小范围,具体含义参考数据范围。

接下来 $n$ 行,每行两个整数 $a_i$ 和 $b_i$,含义如上所示。

接下来一行 $m$ 个数,第 $i$ 个数表示 $c_{i-1}$。

输出格式

一行,表示最大收益。

数据范围

对于 $20\%$ 的数据:$n\le 8,m\le 5$;

对于 $40\%$ 的数据:$n\le 200$;

另有 $10\%$ 的数据:$m=2$;

对于 $100\%$ 的数据:$1\le n\le 10^4,1\le m\le 15,0\le a_i< 2^m,1\le b_i,c_i\le 10^9$。

5 4
0 10
14 8
3 3
1 7
14 7
8 10 4 4
15
4 2
3 10
1 8
2 5
2 3
6 2
0