Mínims i màxims P84476


Statement
 

pdf   zip

thehtml

Donada una seqüència d’n nombres reals, els quals es poden sumar i multiplicar posant parèntesis com es vulgui, però sense canviar l’ordre relatiu dels nombres, calculeu el mínim i el màxim dels resultats que es poden aconseguir.

Per exemple, si els nombres donats són −3, 0 i 5, es poden formar

(−3 + 0) + 5 = 2 ,   (−3 + 0) * 5 = −15 ,   (−3 * 0) + 5 = 5 ,   (−3 * 0) * 5 = 0 ,
−3 + (0 + 5) = 2 ,   −3 + (0 * 5) = −3 ,   −3 * (0 + 5) = −15 ,   −3 * (0 * 5) = 0 .

En aquest cas el resultat mínim és −15 i el màxim és 5.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb una n entre 1 i 200, seguida d’n nombres reals.

Sortida

Per a cada cas, escriviu els resultats mínim i màxim amb quatre decimals. Per fer-ho, poseu aquestes dues línies al principi del vostre main:

    cout.setf(ios::fixed);
    cout.precision(4);

Els jocs de proves no tenen problems de precisió. Cap dels resultats intermedis serà mai més gran que 109 en valor absolut.

Public test cases
  • Input

    3  -3 0 5
    1  42
    2  -2.32 -3.68
    3  1 2 3
    4  0.1 0.2 -0.3 0.2
    5  -2 -3 -4 -5 -6
    

    Output

    -15.0000 5.0000
    42.0000 42.0000
    -6.0000 8.5376
    5.0000 9.0000
    -0.0800 0.2400
    -720.0000 600.0000
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++