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.
Comments