Problem C
Folgen
Languages
da
de
en
et
fi
lt
lv
pl
uk
Eine Folge positiver ganzer Zahlen $(x_1,\ldots ,x_ m)$ ist gut, wenn $x_1 = 1$ und für jedes $1 < j \leq m$ entweder ${x_ j=x_{j-1}+1}$ oder ${x_ j=x_ k\cdot x_ l}$ für ein $k$ und $l$ mit $0< k\leq l< j$ gilt. Zum Beispiel sind die Folgen $(1,1)$ und $(1,2)$ beide gut, aber die Folge $(1,3)$ ist nicht gut. Für $n$ gegebene ganze Zahlen $w_1,\ldots ,w_ n$ definieren wir das Gewicht einer ganzzahligen Folge $(x_1,\ldots ,x_ m)$, die $1\leq x_ j \leq n$ für jedes $1\leq j\leq m$ erfüllt, als
\[ w_{x_1} +\cdots +w_{x_ m}\, . \]Sei zum Beispiel $w_1=10, w_2=42,w_3= 1$. Dann hat die Folge $(1,1)$ das Gewicht $20$ und die Folge $(1,3)$ das Gewicht $11$. Für $1\leq v\leq n$ definiere $s_ v$ als das kleinstmögliche Gewicht einer guten Folge, die den Wert $v$ enthält.
Deine Aufgabe ist es, die Werte $s_1,\ldots ,s_ n$ zu bestimmen.
Eingabe
Die erste Zeile der Eingabe besteht aus der ganzen Zahl $n$, der Anzahl der Gewichte. Die nächsten $n$ Zeilen enthalten die ganzzahligen Gewichte $w_1, \ldots , w_ n$.
Ausgabe
Gib $n$ Zeilen aus, die der Reihe nach $s_1$, $\ldots $, $s_ n$ enthalten.
Beschränkungen und Bewertung
Es gilt immer $1\leq n \leq 30\, 000$ und $1\leq w_ i \leq 10^6$ für jedes $1\leq i \leq n$.
Deine Lösung wird an einer Reihe von Testgruppen getestet, von denen jede eine bestimmte Anzahl von Punkten wert ist. Jede Testgruppe enthält eine Reihe von Testfällen. Um die Punkte für eine Testgruppe zu erhalten, musst du alle Testfälle in der Testgruppe lösen. Deine endgültige Punktzahl ist die maximale Punktzahl für eine einzelne Einsendung.
Gruppe |
Punkte |
Beschränkungen |
$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$ |
Keine weiteren Beschränkungen |
Sample Input 1 | Sample Output 1 |
---|---|
3 10 42 1 |
10 52 53 |