CF1768F.Wonderful Jump
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array of positive integers a1,a2,…,an of length n .
In one operation you can jump from index i to index j ( 1≤i≤j≤n ) by paying min(ai,ai+1,…,aj)⋅(j−i)2 eris.
For all k from 1 to n , find the minimum number of eris needed to get from index 1 to index k .
输入格式
The first line contains a single integer n ( 2≤n≤4⋅105 ).
The second line contains n integers a1,a2,…an ( 1≤ai≤n ).
输出格式
Output n integers — the k -th integer is the minimum number of eris needed to reach index k if you start from index 1 .
输入输出样例
输入#1
3 2 1 3
输出#1
0 1 2
输入#2
6 1 4 1 6 3 2
输出#2
0 1 2 3 6 8
输入#3
2 1 2
输出#3
0 1
输入#4
4 1 4 4 4
输出#4
0 1 4 8
说明/提示
In the first example:
- From 1 to 1 : the cost is 0 ,
- From 1 to 2 : 1→2 — the cost is min(2,1)⋅(2−1)2=1 ,
- From 1 to 3 : 1→2→3 — the cost is min(2,1)⋅(2−1)2+min(1,3)⋅(3−2)2=1+1=2 .
In the fourth example from 1 to 4 : 1→3→4 — the cost is min(1,4,4)⋅(3−1)2+min(4,4)⋅(4−3)2=4+4=8 .