当前位置: 首页 > news >正文

5550 取数(max)

经验值:2000

时间限制:1000毫秒

内存限制:128MB

庐阳区2020年信息学竞赛试题

 不许抄袭,一旦发现,直接清空经验!

题目描述 Description

盒子里面有N个球,每个球上都一个数。你每次可以取走一个球,这个球上的数是X,你就可以得到X的分值,若还有其他的球上的数值也是X,你可以将这些球一并取走, 但是同时就有限制:其他的球,若上面的数为X-1或X+1的话,就不能被取了,相当于这些球被剔除。求你能取得的最大分值。

输入描述 Input Description

第一行一个整数N。

第二行,N个整数,为球上的数值Xi.

输出描述 Output Description

一个整数, 意义如题所述。

样例输入 Sample Input

5 5 3 5 3 4

样例输出 Sample Output

16

数据范围及提示 Data Size & Hint

对于30%的数据:1<=N<=100,1<=Xi<=100。
对于50%的数据:
1<=N<=10000,1<=Xi<=10000。
对于100%的数据:
1<=N<=1000000,1<=Xi<=1000000

#include<bits/stdc++.h>
using namespace std;
int n,x[10000005],t[10000005],mx;
long long dp[1000005];
int main(){
cin>>n;
for(int i=1;i<=n;i++){cin>>x[i];t[x[i]]++;mx=max(mx,x[i]);
}
dp[0]=0,dp[1]=t[1];
for(int i=2;i<=mx;i++){dp[i]=max(dp[i-2]+i*t[i],dp[i-1]);
}
cout<<dp[mx];
return 0;
}

http://www.lryc.cn/news/470306.html

相关文章:

  • Windows常用网络命令
  • 地磁传感器(学习笔记上)
  • 使用 NumPy 和 Matplotlib 进行高级数据可视化:实践指南
  • mysql 启动报错 ‘/var/run/mysqld/mysqld.sock‘
  • JAVA基础:常用类 (习题笔记)
  • element 按钮变形 el-button样式异常
  • Windows/Linux(服务器)查看显卡的名称
  • 算法基础 - 时间复杂度和空间复杂度(万字长文详解)
  • 【K8S系列】Kubernetes 中 Service IP 地址和端口不匹配问题及解决方案【已解决】
  • 10. 异常处理器
  • python查询并安装项目所依赖的所有包
  • istio多主集群架构验证方法
  • Java全栈经典面试题剖析8】JavaSE高级 -- 线程同步、 线程通信、死锁、线程池
  • linux 驱动, struct file , struct node, private_data
  • ubuntu 硬盘扩容
  • cm211-1刷机教程镜像包
  • Android 15自定义设置导航栏与状态栏,EdgeToEdge适配
  • 设计模式概览
  • 力扣每日一题打卡 684. 冗余连接
  • 什么是微服务中的反应性扩展?
  • 【MyBatis】MyBatis-config标签详解
  • 使用AVPlayer进行音频播放开发基础设计
  • API网关的作用--为什么微服务需要一个API网关?
  • [0154].第5节:IDEA中创建Java Web工程
  • React03 组件 Props
  • 多线程——线程安全的集合类
  • 自动化数据库管理:如何通过存储过程动态创建 MySQL 对象
  • 480p 720p 1080p 2k 4k 8k 12k分辨率视频分别占用多大带宽?
  • unity中GameObject介绍
  • 洛谷——P8468 [Aya Round 1 C] 文文的构造游戏(01构造问题)