#BW62. 滑板队训练分组

滑板队训练分组

“极限地带”滑板公园即将举办一场团队表演赛。教练发现,不同人数的滑板小队在训练中展现出的整体表现力差异很大。为了在表演赛中取得最佳效果,他需要将所有滑板手分成若干小队,并希望整个团队的表现力总分尽可能高。教练计划将训练营里的 n n 名滑板手划分为若干个训练小队,每名滑板手都必须加入某个小队。根据历史数据,如果一个训练小队恰好包含 k k 名滑板手,则该小队的表现力评分为 ak a_k 。 给定表现力评分 a1,a2,,an a_1, a_2, \ldots, a_n ,请你计算将这 n n 名滑板手划分为训练小队的所有可能方案中,表现力评分之和的最大值。

输入格式

第一行,一个正整数 n n ,表示滑板手人数。 第二行,n n 个非负整数 a1,a2,,an a_1, a_2, \ldots, a_n ,表示不同人数训练小队的表现力评分。

输出格式

输出共一行,一个整数,表示所有划分方案中,训练小队表现力评分之和的最大值。

输入输出样例

4
1 5 6 3
10
8
0 2 5 6 4 3 3 4
12

样例解释

样例 1: 最优方案是分成两个22人小队: a2+a2=5+5=10a_2 + a_2 = 5 + 5 = 10 所以输出1010

说明/提示

对于 40%40\% 的测试点,保证 1n101\le n\le 10。 对于所有测试点,保证 1n10001\le n\le 10000ai1040\le a_i\le 10^4