ref

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long ll;
int n, m, a[2005], b[2005];
ll dp[2005][2005];
ll f(){
memset(dp, 0x3f, sizeof(dp));
dp[0][1] = 0;
for(int i=1; i<=n; i++){
ll val=0x3f3f3f3f3f3f3f3f;
for(int j=1; j<=m; j++){
val = min(val, dp[i-1][j]);
dp[i][j] = val + abs(a[i] - b[j]);
}
}
ll re=0x3f3f3f3f3f3f3f3f;
for(int i=1; i<=m; i++)
re = min(re, dp[n][i]);
return re;
}
int main(){
cin>>n;
for(int i=1; i<=n; i++){
scanf("%d", &a[i]);
b[i] = a[i];
}
sort(b+1, b+1+n);
m = unique(b+1, b+1+n) - (b + 1);
ll val=f();
reverse(a+1, a+1+n);
val = min(val, f());
cout<<val<<endl;
return 0;
}

最新文章

  1. 前端开发css实战:使用css制作网页中的多级菜单
  2. fuser 命令小结
  3. 32-bit ALU [Verilog]
  4. 如何将ToolBar 样式设置Title文字水平居中
  5. iOS通过设置info.plist参数使用iTunes导入导出Documents目录下的文件
  6. Shell 操作练习
  7. Eclipse —— 如何修改文件的默认编辑器
  8. 【转】字符串分割(C++)
  9. PPTP、L2TP、IPSec和SSLVPN的区别
  10. jQuery的扩展
  11. TX-LCN分布式事务Demo实战
  12. java提高(6)---Serializable
  13. IDEA中的常用设置
  14. inf
  15. m3u8文件下载合并的一种方法
  16. IOS开发中的CGFloat、CGPoint、CGSize和CGRect
  17. python 单例模式,一个类只能生成唯一的一个实例,重写__new__方法详解
  18. [转]IIS 允许/禁止 目录浏览
  19. 【BZOJ】1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚(dp/线段树)
  20. LeetCode: 63. Unique Paths II(Medium)

热门文章

  1. 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:2.技术简介之MinaFilter(1)
  2. SaaS 系统架构设计经验总结
  3. C基础的练习集及测试答案(1-15)
  4. C#链接mysql 新手容易出错的问题
  5. UVALive 4794 Sharing Chocolate(状压,枚举子集)
  6. Android(java)学习笔记129:对ListView等列表组件中数据进行增、删、改操作
  7. BCB:使用CppWebBrowser判断网页加载完成
  8. db2的定时备份
  9. String中关于BeanFactory
  10. webservice基础