#CF1768F. 奇妙跳跃

奇妙跳跃

奇妙跳跃

  • 时间限制:5 秒
  • 内存限制:128 MiB

题目描述

给定长度为 nn 的正整数数组 aa。从位置 ii 跳到位置 jj(1≤i≤j≤n1\le i\le j\le n)需要支付

min⁡(ai,ai+1,…,aj)(j−i)2\min(a_i,a_{i+1},\ldots,a_j)(j-i)^2

枚金币。

对每个 k=1,2,…,nk=1,2,\ldots,n,求从位置 11 经若干次跳跃到达位置 kk 所需的最少金币数。

输入格式

第一行一个整数 nn。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

输出 nn 个整数,第 kk 个整数表示从位置 11 到位置 kk 的最小费用。

样例输入 1

3
2 1 3

样例输出 1

0 1 2

样例输入 2

4
1 4 4 4

样例输出 2

0 1 4 8

数据范围

2≤n≤4⋅1052\le n\le4\cdot10^5,1≤ai≤n1\le a_i\le n。

子任务编号 分值 特殊限制
1 20 n≤500n\le500
2 所有 aia_i 相等
3 ai≤80a_i\le80
4 40 无特殊限制

说明

答案可能超过 32 位有符号整数范围,请使用 64 位整数。