小游戏
题号:NC214364
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有一个长度为 n 的数组 a[i] , 每一步能拿走一个数,比如拿第 i 个数, a[i] = x ,得到相应的分数 x ,但拿掉这个 x 后, x+1 和 x-1 (如果有 a[j] = x+1 或 a[j] = x-1 存在) 就会变得不可拿(但是有 a[j] = x 的话可以继续拿这个 x )。求最大分数。

输入描述:

第一行一个整数 n. ( 1 ≤ n ≤ 2e5)

第二行 n 个整数 a[i]. (0 ≤ a[i] ≤ 2e5)

输出描述:

输出能得到的最大分数。


示例1

输入

复制
5
1 2 2 2 3

输出

复制
6

说明

拿走 3 个 2
示例2

输入

复制
3
1 2 3

输出

复制
4

说明

拿走 1 和 3