Dat je niz znakova (s1, ..., sn) dužine n.
Znak si je + ili -. Dat je niz od n + 1 brojeva (a1, ..., an + 1).
Treba rasporediti brojeve u dati niz znakova tako da vrednost dobijenog izraz bude maksimalna. Formalno,
treba naći vrednost val koja je definisana na sledeći način:
val = max{ap(1) s1 ... ap(n) sn
ap(n + 1) | p je permutacija brojeva od 1 do n + 1}
Ulaz.
(Ulazni podaci se učitavaju sa standardnog ulaza.)
U prvom redu standardnog ulaza nalazi se prirodan broj n (1 ≤ n ≤ 100000).
U drugom redu nalazi se n znakova,
redom od s1 do sn. Svaki znak je karakter '+' ili '-'. Znakovi nisu
odvojeni razmakom. U trećem redu se
nalazi n + 1 brojeva, brojevi od a1 do an + 1, odvojenih razmakom.
Svaki od tih brojeva je iz intervala [0, 1000000].
Izlaz.
(Izlazne podatke ispisati na standardan izlaz.)
U prvi i jedini red standardnog izlaza ispisati traženu vrednost, odnosno vrednost val.
Primer 1.
standardni ulaz
|
|
standardni izlaz
|
3
+-+
1 2 3 4
|
|
8
|
Objašnjenje.
Jedno rešenje predstavlja raspored brojeva
2+3-1+4
Primer 2.
standardni ulaz
|
|
standardni izlaz
|
2
++
1 3 2
|
|
6
|
Objašnjenje.
Bilo koji raspored brojeva vodi ka optimalnom rešenju.
Primer 3.
standardni ulaz
|
|
standardni izlaz
|
4
----
3 12 1 2 0
|
|
6
|
Objašnjenje.
Bilo koji raspored takav da je na prvom mestu broj 12 vodi ka optimalnom rešenju.