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

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务