#LX0053. 【区间DP练习题】云顶之弈

【区间DP练习题】云顶之弈

题目描述

狗球迷上了云顶之弈(这是坏习惯,小朋友们不要学习)。

简化一下游戏规则:

nn个棋子排成一排,每一个棋子可以用编号1,..,101,..,10之一的数字代替。

一开始,这些棋子都是一级棋子。

每次,你可以选择删掉棋盘上一个棋子,或者把连续的,相邻的,编号相同的,等级相同的三个棋子合并成一个高一级的棋子。比如,三个连续的一级11号棋子,可以合成一个二级的11号棋子。

问:告诉你每一种棋子一级,二级,三级,一直到十五级的价值是多少,当我操作若干次(可以是0次)之后,棋盘上剩余的所有棋子的最大总价值是多少。

输入格式

一个正整数nn

接下来一行,一共nn个数字,表示第ii个棋子的编号。

接下来1010行,每行1515个数字,表示第ii号棋子一级到十五级分别价值多少。

输出格式

输出一个数字表示答案。

样例 #1

样例输入 #1

5
1 2 1 2 1
1 10 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

样例输出 #1

10

数据范围

对于70%的数据:1n10001\leq n \leq 1000

对于100%的数据:1n50000001\leq n\leq 5000000,棋子价值不超过10910^9