FFFuuuFFFuuu @ 2024-11-09 15:31:54
描述
一天,你进入了一个神秘的宝藏库,里面有n扇门,编号为0 到 n - 1。每扇门里面都有若干个金币,我们用'''coins[i]'''来表示第i扇门的金币。打开第i扇门,你可以获得 '''coins[i - 1] coins[i] coins[i + 1]''' 枚金币。 这里的 '''i - 1''' 和 '''i + 1''' 代表和 i 相邻的两扇门。如果 '''i - 1'''或 '''i + 1''' 超出了数组的边界,那么就当它是一个只有1个金币的门。你需要把所有门打开,求所能获得硬币的最大数量。 注意:打开的门会自动消失。
输入描述
第一行输入一个正整数n,表示有n扇门 第二行输入n个整数,表示每扇门里面金币的数量
输出描述
一行输出获得硬币的最大数量。
用例输入 1
''' 4 3 1 5 8 '''
用例输出 1
''' 167 '''
用例输入 2
''' 2 1 5 '''
用例输出 2 ''' 10 '''
提示
1<=n<=300 0<=coins[i]<=100
样例解释1:
输入:nums = {3,1,5,8}
输出:167
解释:
nums = {3,1,5,8} --> {3,5,8} --> {3,8} --> {8} --> {}
coins = 315 + 358 + 138 + 181 = 167
样例解释2:
输入:nums = {1,5}
输出:10