#1460. 字符合并

字符合并

字符合并

题目描述

有一个长度为nn0101串,你可以每次将相邻的kk个字符合并,得到一个新的字符并获得一定分数。得到的新字符和分数由这kk个字符确定。你需要求出你能获得的最大分数。

输入格式

第一行两个整数nnkk

接下来一行nn个数,每个数为0011,表示长度为nn0101初始串。

接下来2k2^{k}行,每行一个字符cic_{i},和一个整数wiw_{i}cic_{i}表示长度为kk0101串连成二进制后按从小到大顺序得到的第ii种合并方案得到的新字符,wiw_{i}表示对应的第ii种方案对应获得的分数。

输出格式

输出一个整数表示答案。

数据范围与提示

对于100%100\%的数据,满足1<n<3001 < n < 3000ci10 \leq c_{i} \leq 12k82 \leq k \leq 81wi1091 \leq w_{i} \leq 10^{9},数据存在梯度。

样例

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

说明

33行到第66行表示长度为22440101串的合并方案。00100 \to 1,得1010分;01101 \to 1,得1010分;10010 \to 0,得2020分;11111 \to 1,得3030分。