#P13783. [2024年山东第二轮集训]粉兔的ddl(ddl)

    ID: 12984 传统题 2000ms 1024MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600动态规划数据结构字符串枚举递归

[2024年山东第二轮集训]粉兔的ddl(ddl)

题目描述

世一大的小粉兔ddl非常多。

小粉兔有nn个ddl,按照过期时间从小到大排列。赶完第ii个ddl可以让粉兔获得ViV_i冒险阅历。

由于粉兔有强迫症,在剩下的ddl中,粉兔每次只能赶过期时间最小的或者第三小的ddl。 由于粉兔的脑容量太小,对于任意i,ji,j,粉兔也许不能在赶完第ii个ddl后赶第jj个ddl。第一次赶的ddl没有限制。

实际上时间对粉兔来说根本不是问题,但是粉兔脑容量有限,可能赶不完所有ddl。粉兔还要回去玩原神,所以想知道如何使自己获得的冒险阅历之和最大化。

输入格式

第一行包含一个整数 nn,表示ddl的个数。

第二行是nn个整数V1,V2,,VnV_1,V_2,\cdots,V_n

接下来nn行,每行一个长为nn的字符串sis_i。字符集为0,10,1

粉兔可以在赶完ddl ii后赶ddl jj当且仅当si,j=1s_{i,j}=1

输出格式

输出一个整数表示最大冒险阅历。

样例

Input
6
1 2 4 8 16 32
000110
000001
000101
010000
110000
000000
Output
43
Hint

依次赶编号为1,4,2,6的ddl。赶到ddl的时候它们的排名依次是1,3,1,3。

数据范围

对于所有数据,n1919,1Vi106n\le 1919, 1\le V_i\le 10^6

子任务1(10分). n9n\leq 9

子任务2(10分). n20n\leq 20

子任务3(20分). n88n\leq 88

子任务4(20分). n488n\leq 488

子任务5(40分). 无特殊限制。