plusminus
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}
InputU 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].
OutputU prvi i jedini red standardnog izlaza ispisati traženu vrednost, odnosno vrednost val.
Ulaz:
Izlaz:
Objašnjenje:
Jedno rešenje predstavlja raspored brojeva
2+3-1+4
3
+-+
1 2 3 4Izlaz:
8Objašnjenje:
Jedno rešenje predstavlja raspored brojeva
2+3-1+4
Ulaz:
Izlaz:
Objašnjenje:
Bilo koji raspored brojeva vodi ka optimalnom rešenju.
2
++
1 3 2Izlaz:
6Objašnjenje:
Bilo koji raspored brojeva vodi ka optimalnom rešenju.
Ulaz:
Izlaz:
Objašnjenje:
Bilo koji raspored takav da je na prvom mestu broj 12 vodi ka optimalnom rešenju.
4
----
3 12 1 2 0Izlaz:
6Objašnjenje:
Bilo koji raspored takav da je na prvom mestu broj 12 vodi ka optimalnom rešenju.
Submit solution
Coming laterThe grading service will be connected in a later migration step. You can inspect the task and your previous results now.