题目描述
盒子里面有N个球,每个球上都有一个数,你每次可以取走一个球,这个球上的数是X,你就可以得到X的分值,若还有其他的球上的数值也是X,你也可以将这些球一并取走,但是同时就有一个限制:其他的球,若上面的数为X-1或X+1的话,就不能被取了,相当于这些球被删除。求你能取得的最大分值。
输入格式
第1行:一个整数N,表示球的数量。
第2行:N个整数,表示球上的数值Xi。
输出格式
一行:一个整数,表示可以取得的最大分值。
输入输出样例
输入样例1:
5 5 3 5 3 4
输出样例1:
16
说明
【样例说明】
取3和5,4不可取,可以获得2 * 3 + 2 * 5 = 16分。
【数据范围】
对于100%的数据:1 ≤ N ≤ 1000000,1 ≤ Xi ≤ 1000000,
【耗时限制】1000ms 【内存限制】128MB
//
//Created by Carlgood.
//
#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdio&