9109 - 正整数拆分

通过次数

10

提交次数

36

时间限制 : 1 秒
内存限制 : 256 MB

对于一个正整数,你每一次最多只能将它拆分成2个正整数,同时消耗与你所要拆分的数字一样的体力。例如,将100拆分成2个正整数,需要消耗100点体力。现给定N个正整数Li(1≤i≤N),请你自己选定一个初始值完成拆分,同时计算一下你最少需要消耗多少体力才能完成拆分?

输入

输入数据有若干行。

第一行为一个整数N,代表你需要拆分N个数。

第二行到N+1行,每一行一个正整数Li(1≤i≤N),代表给定的第i个正整数。

输出

输出数据为一行一个整数,代表你需要消耗的最少体力。

样例

输入

3
3
4
5

输出

19

提示

【样例解释】

选定初始值12,第一次将12拆分为5、7,消耗12点体力,接下来将7拆分为3、4,消耗7点体力。最少需要消耗19点体力完成拆分。

【数据规模与约定】

30%的数据,N≤1000、1≤Li≤20000

50%的数据,N≤5000、1≤Li≤20000

100%的数据,N≤10000、1≤Li≤20000

 

来源

NOI省选