题解:
跟NOIP2014 D1T3非常像。
暴力动规是O(1*10^9)会T
所以单调队列一下,每颗树扫两遍结束。
完事,看水代码吧。...last;
int h[N];
int main()
{
// freopen("test.in","r",stdin);
int i,j,k;
scanf("%d%d",&n,&c);
for(i=1;...i<=n;i++)scanf("%d",&h[i]);
now=0,last=1;
for(i=1;i<=n;i++)
{
now^=1,last^=1;
int temp=inf;...-)
{
temp=min(temp+c,f[last][j]);
f[now][j]=temp+(j-h[i])*(j-h[i]);
}
temp=inf;
for(j=1;...][j]=min(f[now][j],temp+(j-h[i])*(j-h[i]));
if(j<h[i])f[now][j]=inf;
}
}
int ans=inf;
for(i=1;