新手求教,对于每组数据,每行输出一个整数,为最短花费时间。

麻婆豆腐是小奏最爱的食物,为了做出最上等的麻婆豆腐,小奏准备了若干上等的食材,并且获得了传说中的麻婆豆腐的料理方法:每次将两种食材合二为一,成为一种新的食材,直到所有的食材都合并到一起,传说中的麻婆豆腐就做成了!
然而,每种食材都有不同的料理难度,每次料理两种食材所需的时间是两种食材料理难度相加;而合二为一的新食材料理难度也是两种食材的料理难度相加。
输入要求
数据有多组输入,第一行输入一个整数n(1<=n<=100),表示食材的数量;接下来一行为n个整数ai(1<=ai<=100),表示每种食材的料理难度。以EOF结束。
输出要求
对于每组数据,每行输出一个整数,为最短花费时间。
例如
5
1 1 1 1 1,
新手用C语言方法解释怎么做,最好有代码,用java,C++的看不懂

感觉并不能看得太懂这道题的旨意何在?