#P6636. 「BalticOI 2023」Sequence

「BalticOI 2023」Sequence

题目描述

题目译自 BalticOI 2023 Day2「Sequence

一列整数 (x1,,xm)(x_1,\ldots,x_m)好的,如果 x1=1x_1=1 并且对于每个 1<jm1<j\le m,要么有 xj=xj1+1x_j=x_{j-1}+1,要么对于某个 kkll 满足 0<kl<j0<k\le l<jxj=xkxlx_j=x_k\cdot x_l。例如,序列 (1,1)(1,1)(1,2)(1,2) 都是好的,但是序列 (1,3)(1,3) 不是好的。对于给定的 nn 个整数 w1,,wnw_1,\ldots,w_n,定义一个对于 1jm1\le j\le m 都满足 1xjn1\le x_j\le n 的整数序列 (x1,,xm)(x_1,\ldots,x_m)权重

wx1++wxmw_{x_1}+\ldots+w_{x_m}

例如,给定的权重 w1=10,w2=42,w3=1w_1=10,w_2=42,w_3=1,序列 (1,1)(1,1) 的权重为 2020,序列 (1,3)(1,3) 的权重为 1111。对于 1vn1\le v\le n,定义 svs_v 为包含 vv 的好序列可能的最小权重。

你的任务是确定 s1,,sns_1,\ldots,s_n

输入格式

第一行一个整数 nn,表示权重序列的长度。

接下来 nn 行,每行一个整数 wiw_i,表示权重序列。

输出格式

输出 nn 行,第 ii 行输出 sis_i

3
10
42
1

10
52
53

数据范围与提示

对于全部数据,满足:

  • 1n31041\le n\le 3\cdot 10^4
  • 1wi1061\le w_i\le 10^6(对于 1in1\le i\le n

详细子任务附加限制及分值如下表。

子任务编号 附加限制 分值
11 n10n\le 10 1111
22 n300,w1==wn=1n\le 300,w_1=\ldots=w_n=1 1010
33 n300,w1==wnn\le 300,w_1=\ldots=w_n
44 n1400,w1==wn=1n\le 1400,w_1=\ldots=w_n=1 99
55 n5000n\le 5000 4545
66 无附加限制 1515