博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeForces-455A Boredom
阅读量:4986 次
发布时间:2019-06-12

本文共 1885 字,大约阅读时间需要 6 分钟。

题目链接

题面

Description

Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winter evening he came up with a game and decided to play it.

Given a sequence a consisting of n integers. The player can make several steps. In a single step he can choose an element of the sequence (let's denote it ak) and delete it, at that all elements equal to ak + 1 and ak - 1 also must be deleted from the sequence. That step brings ak points to the player.

Alex is a perfectionist, so he decided to get as many points as possible. Help him.

Input

The first line contains integer n (1 ≤ n ≤ 105) that shows how many numbers are in Alex's sequence.

The second line contains n integers a1, a2, ..., *a**n* (1 ≤ *a**i* ≤ 105).

Output

Print a single integer — the maximum number of points that Alex can earn.

Examples

Input

21 2

Output

2

Input

31 2 3

Output

4

Input

91 2 1 3 2 2 2 2 3

Output

10

Note

Consider the third test example. At first step we need to choose any element equal to 2. After that step our sequence looks like this [2, 2, 2, 2]. Then we do 4 steps, on each step we choose any element equals to 2. In total we earn 10 points.

题解

简单DP题,记录一下每个数有多少个,\(dp[i]\)表示消除值为i的数字或者不消除值为i的数字的最大分数,直接从最小的数字的值开始dp是否消除即可

AC代码

#include 
#include
#include
#include
#define N 100050using namespace std;long long f[N];long long cnt[N];bool vis[N];long long a[N];int main() { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%lld", &a[i]); } sort (a + 1, a + n + 1); for (int i = 1; i <= n; i++) { cnt[a[i]]++; } long long ans = 0; for (int i = a[1]; i <= a[n]; i++) { f[i] = max(f[i - 1], f[i - 2] + cnt[i] * i); ans = max(ans, f[i]); } printf("%lld\n", ans); return 0;}

转载于:https://www.cnblogs.com/artoriax/p/10388506.html

你可能感兴趣的文章
C++ stl 运用(深层)
查看>>
浮点型数据存储方式
查看>>
python 调用未绑定的超类构造方法
查看>>
servlet的开发流程介绍
查看>>
MFC 记录 CreateProcess启动外部游戏主程序
查看>>
Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 解决方法...
查看>>
poj 1459 最大流
查看>>
js 运算符优先级
查看>>
SDWebimage加载图片,循环滚动轮播图和pagecontrol
查看>>
ARMV7-M数据手册---Part A :Application Level Architecture---A1 Introduction
查看>>
Jmeter 使用技巧 (如何在linux下运行jmeter视窗界面呢)-jmeter如何模拟http发送gzip数据...
查看>>
第一个爬虫
查看>>
通知中心
查看>>
HW4.13
查看>>
careercup-数学与概率 7.5
查看>>
Android app的文件缓存目录
查看>>
Linux服务器安全加固
查看>>
周记 2015.05.30
查看>>
Firebug入门指南(转)
查看>>
codeforces 652B B. z-sort(水题)
查看>>