题解:

代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define int long long
using namespace std;
const int maxn=500010;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar();}
return s*w;
}
int n,s[maxn],t[maxn],a[maxn],b[maxn],f[maxn];
int Abs(int x){
if(x<0)return -x;
return x;
}
void add1(int pos,int k){
for(int i=pos;i<=n;i+=(i&-i))
s[i]=min(s[i],k);
} void add2(int pos,int k){
pos = n - pos + 1;
for(int i=pos;i<=n;i+=(i&-i))
t[i]=min(t[i],k);
} int query1(int pos){
int re=1e18;
for(int i=pos;i>=1;i-=(i&-i))
re=min(re,s[i]);
return re;
} int query2(int pos){
pos=n-pos+1;
int re=1e18;
for(int i=pos;i>=1;i-=(i&-i))
re=min(re,t[i]);
return re;
} signed main(){
#ifdef yilnr
#else
freopen("remove.in","r",stdin);
freopen("remove.out","w",stdout);
#endif
n=read();
for(int i=1;i<=n;++i)
b[i]=a[i]=read();
memset (s,127/3,sizeof(s));
memset (t,127/3,sizeof(t));
sort(b+1,b+1+n);
for(int i=1;i<=n;i++)
a[i]=lower_bound(b+1,b+1+n,a[i])-b;
f[2]=Abs(b[a[2]]-b[a[1]]);
f[3]=Abs(b[a[3]]-b[a[1]]);
add1(a[3],f[2]-b[a[3]]);
add2(a[3],f[2]+b[a[3]]);
for(int i=4;i<=n;i++){
f[i]=Abs(b[a[i]]-b[a[1]]);
int tmp1=query1(a[i]);
int tmp2=query2(a[i]);
f[i]=min(f[i],tmp1+b[a[i]]);
f[i]=min(f[i],tmp2-b[a[i]]);
add1(a[i],f[i-1]-b[a[i]]);
add2(a[i],f[i-1]+b[a[i]]);
}
printf("%lld\n",f[n]);
return 0;
}

  

最新文章

  1. ElasticSearch配置说明
  2. setContentType、setCharacterEncoding、pageEncoding和contentType
  3. 从零开始,做一个NodeJS博客(三):API实现-加载网易云音乐听歌排行
  4. 利用Ajax增删改Sharepoint List Item
  5. mysql PDO的使用
  6. Android ContentProvider的实现
  7. UNIX网络编程——网络IPC:套接字
  8. JAVA之网页截屏
  9. Ibatis insert语句插入null引发的错误
  10. Redis总结(六)Redis配置文件全解
  11. vue2.0路由进阶
  12. 好看又能打的CRM系统大比拼:Salesforce, SugarCRM, Odoo等
  13. Interface Comparable&lt;T&gt;
  14. leetcode 刷题进展
  15. Windows Server 2016-Active Directory复制概念(一)
  16. gitlab简单使用教程【转】
  17. 吸血鬼猎人巴菲第一至八季/全集Buffy迅雷下载
  18. 导致线程死锁容易忽略的一点 SendMessage
  19. LDA模型数据的可视化
  20. 一次delete速度异常慢的处理过程

热门文章

  1. Django-djangorestframework-异常模块-源码及自定义异常
  2. spring boot logback无感配置
  3. IntelliJ IDEA 统一设置编码为utf-8编码
  4. hdu 1281 匈牙利算法
  5. 阿里云 负载均衡 HTTP转HTTPS
  6. JS 验证字符串是否能转为json格式
  7. js将阿拉伯数字转换成汉字大写
  8. 使用百度echarts仿雪球分时图(二)
  9. asp.net mvc 导出Excel
  10. STM32——CAN总线波特率和位时序详解