Dintr-un șir format din cifre, numerotate de la la , Ionel ia exact cifre aflate pe poziții consecutive. El lipește cifrele luate sau le amestecă și apoi le lipește pentru a obține cu ele un număr cât mai mare.
Cerință
Cunoscând și cele cifre din șir, să se determine:
- cel mai mare număr care se poate obține din primele dintre cele cifre date;
- de unde va lua Ionel cifre aflate pe poziții consecutive pentru a obține un număr maxim; dacă sunt mai multe poziții corespunzătoare unui număr maxim, alegerea se va face astfel încât numărul format din cifrele rămase, în ordinea în care erau, să fie cât mai mare posibil; dacă și în acest caz există mai multe soluții, se alege poziția maximă.
Date de intrare
Din fișierul maxim.in
se citesc: de pe prima linie, reprezentând cerința problemei ( sau ), și de pe a doua linie, despărțite printr-un spațiu, cu semnificația din enunț, iar de pe linia a treia, se citesc cele cifre, despărțite prin câte un spațiu.
Date de ieșire
În fișierul maxim.out
se scrie:
- pentru : numărul maxim care se poate obține cu ajutorul primelor cifre dintre cele date, fără spații între cifrele numărului;
- pentru : un număr reprezentând poziția cerută.
Restricții și precizări
- numere naturale, , ,
- Cele valori de pe linia a treia sunt numere naturale între și
- Secvența de cifre poate să înceapă cu cel mult cifre nule.
- de puncte se vor obține cu rezolvarea cerinței , iar de puncte se vor obține cu rezolvarea cerinței .
- Se acordă p din oficiu, cu condiția ca programul să compileze și execuția lui să se termine normal, în timpul alocat.
- Pentru % dintre teste, și .
Exemplul 1
maxim.in
1
10 3
7 2 8 1 0 0 4 7 8 1
maxim.out
872
Explicație
Se rezolvă cerința . Cu primele cifre dintre cele cifre date se pot forma numerele: , cel mai mare fiind
Exemplul 2
maxim.in
2
10 3
7 2 8 1 0 0 4 7 8 1
maxim.out
7
Explicație
Se rezolvă cerința . Alegând cifrele începând de la poziția a -a (cifrele și ), se va forma numărul , care este cel mai mare posibil.
Exemplul 3
maxim.in
2
10 2
0 7 2 8 4 8 7 1 7 8
maxim.out
9
Explicație
Se rezolvă cerința . Alegând cifrele începând de la poziția a -a (cifrele și ) sau cifrele începând cu poziția a -a ( și ) va forma numărul care este cel mai mare număr de două cifre consecutive. Dar, eliminând cifrele de pe pozițiile și , secvența rămasă este (cu valoarea ), pe când eliminând cifrele de pe pozițiile și numărul rămas este care este mai mare.
Exemplul 4
maxim.in
2
10 2
5 9 6 9 6 8 2 6 6 8
maxim.out
4
Explicație
Se rezolvă cerința . Alegând cifrele de pe pozițiile sau sau se va forma numărul care este cel mai mare număr de două cifre consecutive posibil. Dar, eliminând cifrele de pe pozițiile și , numărul rămas este , eliminând cifrele de pe pozițiile și numărul rămas este , eliminând cifrele de pe pozițiile și numărul rămas este . Se poate afișa poziția sau sau , dar se va alege poziția maximă, .