problem

毒瘤\(DP\)

#ifdef Dubug

#endif
#include <bits/stdc++.h>
using namespace std;
typedef long long LL ;
inline LL In() { LL res(0),f(1); register char c ;
while(isspace(c=getchar())) ; c == '-'? f = -1 , c = getchar() : 0 ;
while(res = (res << 1) + (res << 3) + (c & 15) , isdigit(c=getchar())) ;
return res * f ;
} int n , m ;
const int N = 500 + 5 ;
const int M = 100 + 5 ;
int t[N] , res[N] ;
int dp[N][M] ;
signed main() {
memset(dp,0x7f,sizeof(dp)) ;
n = In() , m = In() ;
for(register int i=1;i<=n;i++) t[i] = In() ;
sort(t+1 , t+n+1) ;
for(register int i=1;i<=n;i++) res[i] = res[i-1] + t[i] ;
t[0] = -0x7f7f7f7f , dp[0][0] = 0 ;
for(register int i=0;i<=n;i++) {
int Min = min(t[i+1]-t[i] , m-1) ;
for(register int j=0;j<=Min;j++)
if(dp[i][j] != 0x7f7f7f7f)
for(register int k=1;k+i<=n;k++) {
int Max = max(t[i]+j+m-t[i+k] , 0) ;
dp[i+k][Max] = min(dp[i+k][Max] , dp[i][j] + (Max + t[i+k]) * k-(res[i + k] - res[i])) ;
}
}
int ans = 0x7f7f7f7f ;
for(register int i=0;i<m;i++) ans = min(dp[n][i] , ans) ;
cout << ans << endl ;
return 0 ;
}

最新文章

  1. pod 安装总结
  2. OpenSuse 中目录中文路径改为英文路径
  3. 洛谷P1330 封锁阳光大学
  4. Linux之Shell的算术运算
  5. BZOJ1407_NOI2002_荒岛野人_Savage_C++
  6. js运动
  7. JQuery Ajax 获取数据
  8. Java IO4:字符流进阶及BufferedWriter、BufferedReader
  9. ASUS S46CB 刷BIOS
  10. Apache Http Server和Tomcat 之区别
  11. Android 桌面不显示应用图标
  12. Java并发编程(2):线程中断(含代码)
  13. LATEX TEMPLATE (SPRINGER) (*.BST)
  14. 在dotnet core下去中心化访问HTTP服务集群
  15. zhifubao
  16. 本地连接属性:Internet协议版本4(TCP/IPv4)打开闪退解决办法
  17. 更多的bash命令
  18. Yii的操作提示框
  19. hangfire的使用
  20. SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。

热门文章

  1. jieba的基本使用
  2. request在作用域中管理属性
  3. python3连接mysql 稍微进阶 + 日期处理
  4. Python json &amp; pickle &amp; shelve模块
  5. vue中的跨域
  6. PyQt5Icon图标(Icon)无法显示问题
  7. Spring核心技术(一)——IoC容器和Bean简介
  8. 【Codeforces 1034A】Enlarge GCD
  9. 数据库——mysql如何获取当前时间---https://www.cnblogs.com/Chenshuai7/p/5136469.html
  10. noip模拟赛 whzzt-Conscience