#P3736. [HAOI2016] 字符合并

    ID: 1298 Type: RemoteJudge 1000ms 250MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>2016河南各省省选枚举状态压缩

[HAOI2016] 字符合并

题目描述

有一个长度为 nn0101 串,你可以每次将相邻的 kk 个字符合并,得到一个新的字符并获得一定分数。

得到的新字符和分数由这 kk 个字符确定。你需要求出你能获得的最大分数。

输入格式

输入的第一行是两个整数,分别代表字符串长度 nn 和参数 kk

输入的第二行有 nn 个用空格隔开的非零即一的字符,第 ii 个字符表示初始串的第 ii 个字符。。

33 到第 (2k+2)(2^k + 2) 行,每行有一个字符和一个整数,第 (i+2)(i + 2) 行的字符 cic_i 个整数 wiw_i 表示长度为 kk0101 串连成二进制后按从小到大顺序得到的第 ii 种合并方案得到的新字符, wiw_i 表示对应的第 ii 种方案对应获得的分数。

输出格式

输出一个整数表示答案。

3 2
1 0 1
1 10
1 10
0 20
1 30

40

提示

数据规模与约定

对于 100%100\% 的数据,保证:

  • 1n3001\leq n\leq 3001<k81 \lt k \leq 8
  • ci{0,1}c_i\in\{0,1\}1wi1091 \leq w_i \leq 10^9