Hide

Problem C
Jada

Languages da de en et fi lt lv pl uk

Nimetame positiivsetest täisarvudest koosnevat jada $(x_1,\ldots ,x_ m)$ heaks, kui $x_1 = 1$ ja iga $1 < j \leq m$ korral kehtib kas $x_ j=x_{j-1}+1$ või $x_ j=x_ k\cdot x_ l$ mingite $k$ ja $l$ kohta, kus $0< k\leq l< j$. Näiteks on jadad $(1,1)$ ja $(1,2)$ mõlemad head, aga jada $(1,3)$ ei ole hea. On antud $n$ täisarvu $w_1,\ldots ,w_ n$. Nimetame arvujada $(x_1,\ldots ,x_ m)$ kaaluks, kus $1\leq x_ j \leq n$ iga $1\leq j\leq m$ kohta, arvu

\[ w_{x_1} +\cdots +w_{x_ m}\, . \]

Näiteks kui on antud $w_1=10, w_2=42,w_3= 1$, siis jada $(1,1)$ kaal on $20$ ja jada $(1,3)$ kaal on $11$. Tähistagu iga $1\leq v\leq n$ korral $s_ v$ vähimat võimalikku sellise hea jada kaalu, mis sisaldab väärtust $v$.

Sinu ülesanne on leida väärtused $s_1,\ldots ,s_ n$.

Sisend

Sisendi esimesel real on täisarv $n$ — kaalude arv. Järgmisel $n$ real on antud kaalud $w_1, \ldots , w_ n$.

Väljund

Trüki $n$ rida, milledel on vastavalt arvud $s_1$, $\ldots $, $s_ n$.

Piirangud ja hindamine

Alati kehtivad $1\leq n \leq 30\, 000$ ja $1\leq w_ i \leq 10^6$ iga $1\leq i \leq n$ kohta.

Selles ülesandes on testid jagatud gruppidesse, iga grupp on väärt mingi arvu punkte. Iga grupi eest saavad punkte vaid need lahendused, mis läbivad kõik sellesse gruppi kuuluvad testid. Sinu lõplik skoor on esituste maksimum.

Grupp

Punktid

Lisapiirangud

$1$

$11$

$n\leq 10$

$2$

$10$

$n\leq 300$, $w_1=\cdots =w_ n = 1$

$3$

$10$

$n\leq 300$, $w_1=\cdots =w_ n$

$4$

$9$

$n\leq 1400$, $w_1=\cdots =w_ n = 1$

$5$

$45$

$n\leq 5000$

$6$

$15$

Lisapiirangud puuduvad.

Sample Input 1 Sample Output 1
3
10
42
1
10
52
53