曾经有一个小镇,那里有一位叫做塔子哥的年轻人。他拥有一种非常特别的技能,能够通过操作数组来获得最大的收益。
塔子哥的技能最初得到了村里的某位老者的传授。老者告诉他,每次操作可以删除一个数 arri ,同时删除所有等于 arri+1 或者 arri−1的数。操作后被删除的数无法再被选中。每次操作可以获得被删除数的分数,现在他想知道通过多次操作,他最多能够获得多少分。
为了帮助塔子哥,老者给了他一个长度为 n 的数组 arr,并告诉他最优的操作策略是什么。现在,塔子哥需要你的帮助来解决这个问题。
第一行一个正整数 n ,表示数组 arr 的长度。
接下来行包含 n 个正整数 arr1,arr2,......arrn,分别为数组 arr 中的 n 个数。
n≤100000,1≤arri≤100000
输出可以获得的最高分。
输入
5
1 2 3 4 5
输出
9
输入
6
7 9 4 3 5 7
输出
31
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.