类比背包问题,为每个学生附加一个权重$pos[i]$,意思是选择该学生后,之后可以选择$p[i]~p[i]+5$的学生。

转换公式:

$$d[i][j]=max(d[i+1][q],d[i+pos][i]-pos[i])$$

#include<bits/stdc++.h>
using namespace std;
int p[5005],d[5005][5005],pos[5005];
int n;
int f(int i,int q){
if(q==0||i>n)return 0;
int& ans=d[i][q];
if(ans) return ans;
return ans=max(f(i+1,q),f(i+pos[i],q-1)+pos[i]);
}
int main(){
int m;
cin>>n>>m;
for(int i{1};i<=n;i++) cin>>p[i];
sort(p+1,p+n+1);
for(int i=1;i<=n;i++) pos[i]=upper_bound(p+1,p+n+1,p[i]+5)-p-i;
cout<<f(1,m)<<endl;
return 0;
}

最新文章

  1. windows命令——explorer
  2. 为windows应用程序提供托盘图标
  3. NopCommerce 框架系列(一)
  4. 做一个App前需要考虑的几件事
  5. CFString​Transform
  6. phpmailer 参数使用说明
  7. C++ 与设计模式学习(其一)
  8. android定时更新文件
  9. 设置webconfig 解决asp.net上传文件过大问题
  10. ElasticSearch 模板文件配置
  11. 查询mysql数据库表的信息(表大小、数据大小、索引大小)
  12. [面试算法题重做]求1+2+...+n
  13. java中线程中的相关知识点
  14. Kinect的学习笔记发展一Kinect引进和应用
  15. 【转载】VS中生成、清理项目、调试、开始执行(不调试)、Debug 和 Release等之间的区别
  16. android 休眠唤醒机制分析(一) — wake_lock【转】
  17. jenkins 启动slave时,找不到合适的java程序
  18. Eclipse自定义的透视图如何删除掉?
  19. 初试PyOpenGL一 (Python+OpenGL)
  20. 第十一章 Helm-kubernetes的包管理器(上)

热门文章

  1. iview table数据排序不正确
  2. Linux Centos7安装Oracle12c第二版本
  3. ASP.NET内容页中访问母版页中的对象
  4. 项目经验:GIS&lt;MapWinGIS&gt;建模第三天
  5. vue2.0 生命周期 简析
  6. Net编译原理简单
  7. Python初学者第五天 列表及简单操作
  8. 来自Google资深工程师的API设计最佳实践
  9. 四、HTTP和HTTPS的区别
  10. Oracle 数据库视图与基表的关系