max

Time limit: 0.05s Memory limit: 2MB Input: max.in Output: max.out

Fie nn un număr natural nenul şi un şir de nn numere naturale nenule, fiecare număr din şir având cel mult 33 cifre. Şirul dat se „maximizează” prin aplicarea următoarelor transformări:

T1T1: Fiecare număr yy din şir este înlocuit cu cel mai mare număr care se poate obţine prin aranjarea tuturor cifrelor lui yy. De exemplu, pentru y=102y = 102, prin aranjarea cifrelor, se obţin numerele: 1212, 2121, 102102, 120120, 201201, 210210, cel mai mare număr fiind 210210. Astfel, yy se va înlocui în şir cu numărul 210210.
T2T2: Se schimbă ordinea numerelor din şirul obţinut după aplicarea transformării T1T1 astfel încât numărul xx obţinut prin alipirea tuturor numerelor din şir, în ordinea în care apar după schimbare, să fie cel mai mare posibil.

De exemplu, pentru n=3n = 3 şi şirul: 1212, 132132, 102102, după aplicarea transformării T1T1 noul şir este format din numerele: 2121, 321321, 210210. Din acest şir, se pot obţine, prin schimbarea ordinii numerelor, următoarele 66 şiruri:

  1. 2121, 321321, 210210
  2. 2121, 210210, 321321
  3. 321321, 2121, 210210
  4. 321321, 210210, 2121
  5. 210210, 2121, 321321
  6. 210210, 321321, 2121

Numerele care rezultă prin alipirea numerelor din fiecare şir obţinut sunt:

  1. 2132121021321210;
  2. 2121032121210321;
  3. 3212121032121210;
  4. 3212102132121021;
  5. 2102132121021321;
  6. 2103212121032121.

După aplicarea transformării T2T2, şirul „maximizat” este: 321, 21, 210321, \ 21, \ 210 deoarece cel mai mare număr dintre cele 66 obţinute este x=32121210x = 32121210.

Cerinţă

Scrieţi un program care să citească numărul natural nenul nn şi cele nn numere naturale nenule din şir şi care să determine:

  1. cel mai mare număr mm din şirul de numere obţinut în urma aplicării transformării T1T1;
  2. numărul xx obţinut prin alipirea numerele din şirul „maximizat” rezultat în urma aplicării transformării T2T2.

Date de intrare

Fişierul de intrare max.in conţine două linii. Pe prima linie este scris numărul natural nenul nn, iar pe a doua linie sunt scrise cele nn numere naturale nenule din şir, separate prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire max.out va conţine:

  • pe prima linie numărul natural mm, reprezentând cel mai mare număr din şirul de numere obţinut în urma aplicării transformării T1T1
  • pe a doua linie numărul natural xx, reprezentând numărul obţinut prin alipirea numerelor din şirul „maximizat”, rezultat în urma aplicării transformării T2T2.

Restricţii şi precizări

  • Numărul nn este număr natural, 2n3 5002 \leq n \leq 3 \ 500
  • Cele nn numere din şirul citit sunt numere naturale nenule, fiecare număr din şir având cel mult 33 cifre
  • Dacă un număr din şir are cel puţin o cifră nulă iar prin aranjarea cifrelor acestui număr se obţine un alt număr care are prima cifră 00, atunci această cifră se ignoră
  • Numărul natural xx determinat poate avea cel mult 10 50010 \ 500 de cifre
  • Se acordă punctaje parţiale: cerinţa 11, 20%20\% din punctaj, cerinţa 22, 80%80\% din punctaj

Exemplu

max.in

9
34 23 9 43 21 67 121 79 213

max.out

321
9977643433232121211

Explicaţie

După aplicarea transformării T1T1, şirul devine: 43, 32, 9, 43, 21, 76, 211, 97, 32143, \ 32, \ 9, \ 43, \ 21, \ 76, \ 211, \ 97, \ 321. Cel mai mare număr din acest şir este m=321m = 321. După aplicarea transformării T2T2, şirul maximizat este: 9, 97, 76, 43, 43, 32, 321, 21, 2119, \ 97, \ 76, \ 43, \ 43, \ 32, \ 321, \ 21, \ 211 iar numărul x=9977643433232121211x = 9977643433232121211

Log in or sign up to be able to send submissions!