第 4 题 编程题
连连看
编程实现:
现在有一个连连看游戏。场上有n张卡牌,每张卡牌上有一个分数,只要将两张卡牌连到一起,就会合成一张新的卡牌,卡牌上的分数为之前两张卡牌的分数之和,你将获得新卡牌分数的相应积分。经过多次操作后,最后只剩一张卡牌,游戏结束。给定初始每张卡牌的分数,请问最多能获得多少分?
例如:场上有3张卡牌,分数分别为10分、23分、5分,将10分卡牌与23分卡牌合成,可得到33分卡牌,再将33分卡牌与5分卡牌合成,可得到38分卡牌,获得总分数为33+38=71分为最多的分数。
输入描述
第一行输入一个正整数n,表示有n张卡牌(1≤n≤10000)。
第二行输入n个正整数,表示每张卡牌的初始分数(1≤分数≤10000),正整数之间由空格隔开。
输出描述
输出最多可以获得的分数。
输入样例
3 10 23 5
输出样例
71