ConcursC++17

expresie

Costel are de rezolvat o temă grea la matematică: având la dispoziţie NN numere naturale nenule trebuie să aşeze între acestea 22 operaţii de înmulţire şi N−3N-3 operaţii de adunare, astfel încât rezultatul calculelor să fie cel mai mare posibil. Nu este permisă modificarea ordinii numerelor date.

De exemplu, dacă N=5N=5 şi numerele sunt 4,7,1,5,34, 7, 1, 5, 3, operaţiile pot fi aşezate 4+7⋅1+5⋅34 + 7 \cdot 1 + 5 \cdot 3, sau 4⋅7⋅1+5+34 \cdot 7 \cdot 1 + 5 + 3, etc.

Cerinţă

Scrieţi un program care să aşeze două operaţii de înmulţire şi N−3N-3 operaţii de adunare între cele NN valori date astfel încât valoarea expresiei obţinute să fie maximă.

Date de intrare

Fişierul de intrare expresie.in are următoarea structură:

Pe prima linie se află un număr natural NN, reprezentând numărul elementelor date.
Pe următoarele linii se află cele NN numere naturale date, fiecare pe câte o linie.

Date de ieşire

Fişierul de ieşire expresie.out va conţine, pe prima linie, valoarea maximă obţinută prin evaluarea expresiei.

Restricţii şi precizări

  • 4≤N≤1 0004 \leq N \leq 1\ 000
  • Numerele date sunt numere naturale între 11 şi 10 00010\ 000.

expresie.in

5
4
7
1
5
3

expresie.out

44

Explicație

Valoarea maximă se obţine prin aşezarea operaţiilor sub forma 4⋅7+1+5⋅34 \cdot 7 + 1 + 5 \cdot 3.

Sursă și autori

OJI 2009, clasele 9. Alin Burța.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑