#include<bits/stdc++.h>
using namespace std;
int n,h[5005],dp[5005][5005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>h[i];
dp[i][i]=0;
}
cout<<0<<" ";
if(n==0)
{
return 0;
}
int mni=0x3f3f3f3f;
for(int i=2;i<=n;i++)
{
dp[i-1][i]=abs(h[i-1]-h[i]);
mni=min(dp[i-1][i],mni);
}
cout<<mni<<" ";//特判1和特判二是我脑子一抽写的,看了题解之后发现毛用没有
for(int i=3;i<=n;i++)
{
int nim=0x3f3f3f3f;
for(int j=1;j+i-1<=n;j++)
{
int k=j+i-1;
dp[j][k]=dp[j+1][k-1]+abs(h[j]-h[k]);
nim=min(nim,dp[j][k]);
}
cout<<nim<<" ";
}
return 0;
}
我的评测记录