if __name__ == "__main__": # 读取第一行的n n = int(sys.stdin.readline().strip()) line = sys.stdin.readline().strip() values = list(map(int, line.split())) ans = [[0 for i in range(n)] for j in range(n)] for i in range(1,n+1): for j in range(n-i+1): if i==1: ans[j][j+i-1]=values[j] continue else: if values[j]==values[j+i-1]: if i>2: ans[j][j+i-1] = 2*values[j] + ans[j+1][j+i-2] else: ans[j][j + i - 1] = 2 * values[j] else: ans[j][j + i - 1] = min(2*values[j]+ans[j+1][j+i-1], 2*values[j+i-1]+ans[j][j+i-2]) print(ans[0][n-1])
点赞 2

相关推荐

哈基米南北绿豆114...:大三下民办二本通信工程转码,崩溃的是我,不要问我为什么行情这么差还转码,计算机只是日暮西山,通信工程是漫漫长夜😭查看图片
我的求职进度条
点赞 评论 收藏
分享
05-12 18:33
门头沟学院 Java
牛客93345081...:疯狂捞我,然后hr面过了横向给我挂,啥意思啊请问😭😭
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务