对于一个正整数,你每一次最多只能将它拆分成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
时间限制 | 1 秒 |
内存限制 | 256 MB |