这玩意忒难了
#include<bits/stdc++.h>
using namespace std;
int l[1000001],g[1000001],f[2][1000001][2],oi,jj,t[2],s[2][1000001],ans,n,m;
void fuck()
{
memset(f,0x3f,sizeof(f));
t[1]=0;
for(int j=1;j<=3;j++)
for(int k=g[j];k<=g[j]+2;k++)
if(k>=g[1])
s[1][++t[1]]=k;
for(int i=1;i<=t[1];i++)
f[1][i][0]=s[1][i]-g[1];
oi=0,jj=1;
for(int i=2;i<=n;i++)
{
oi^=1,jj^=1;t[jj]=0;
int lf=max(1,i-2),rf=min(n,i+2);
for(int j=lf;j<=rf;j++)
for(int k=g[j];k<=g[j]+2;k++)
if(k>=g[i])
s[jj][++t[jj]]=k;
for(int j=1;j<=t[jj];j++)
{
f[jj][j][1]=f[jj][j][0]=0x3f3f3f3f;
for(int k=1;k<=t[oi];k++)
{
if(s[oi][k]>s[jj][j])
f[jj][j][0]=min(f[jj][j][0],f[oi][