#include <iostream>
#include <vector>
using namespace std;
vector<int> count(10001,0);//记录数组中每个数出现的次数
vector<vector<int>> dp(10005,vector(2,0));
int main() {
int n;
cin>>n;
int maxValue=0;
for(int i=0;i<n;i++){
int x;
cin>>x;
count[x]++;
maxValue=x>maxValue?x:maxValue;
}
int maxx=0;
for(int i=1;i<=maxValue;i++){
//不取
dp[i][0]=max(dp[i-1][0],dp[i-1][1]);
//取
dp[i][1]=dp[i-1][0]+i*count[i];
maxx=max(dp[i][1],dp[i][0]);
}
cout<<maxx;
return 0;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号