码迷,mamicode.com
首页 > 其他好文 > 详细

Boredom CodeForces - 455A

时间:2017-10-28 00:30:06      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:mes   for   game   second   contain   std   section   get   lex   

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, ..., an (1?≤?ai?≤?105).

Output

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

Example

Input
2
1 2
Output
2
Input
3
1 2 3
Output
4
Input
9
1 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[ i ][ 0~1 ],表示以i结尾(0表示不选i,1表示1选i)所得到的最大值。状态定好了,转移方程就好想了

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 
 5 const int maxn=1e5+5;
 6 
 7 ll n,ma;
 8 ll a[maxn],dp[maxn][2];
 9 
10 int main()
11 {   ma=0;
12     cin>>n;
13     for(int i=1;i<=n;i++){
14         ll temp;
15         cin>>temp;
16         a[temp]++;
17         ma=max(ma,temp);
18     }
19     for(int i=1;i<=ma;i++) a[i]=(ll)i*a[i];
20     
21     dp[0][0]=dp[0][1]=0;
22     for(int i=1;i<=ma;i++){
23         dp[i][0]=max(dp[i-1][1],dp[i-1][0]);
24         dp[i][1]=dp[i-1][0]+a[i];
25     }
26     cout<<max(dp[ma][0],dp[ma][1])<<endl;
27 }

 

Boredom CodeForces - 455A

标签:mes   for   game   second   contain   std   section   get   lex   

原文地址:http://www.cnblogs.com/zgglj-com/p/7745682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!