Prin operația de unificare a două numere naturale și înțelegem obținerea celui mai mare număr care se poate forma din cifrele distincte din scrierea numărului și cifrele distincte din scrierea numărului . De exemplu, unificând cu vom obține numărul , deoarece din vom utiliza cifrele , iar din cifrele . Cel mai mare număr pe care îl putem forma cu aceste cifre este .
Operația de unificare poate fi aplicată și pentru numere, respectând aceeași regulă: pentru fiecare număr din cele identificăm cifrele distincte care apar în scrierea lui, apoi determinăm cel mai mare număr care se poate forma utilizând toate aceste cifre. De exemplu, unificând numerele , și vom obține .
Se dau două numere naturale, și , și un șir de numere naturale .
Cerințe
Determinați și afișați:
- cel mai mare număr de exact cifre din șirul dat;
- cel mai mare număr care poate fi obținut prin unificarea a două valori aflate pe poziții alăturate în șirul dat;
- cel mai mare număr care se poate obține prin unificarea a valori aflate pe poziții consecutive în șirul dat.
Date de intrare
Fișierul de intrare unificare.in
conține pe prima linie un număr natural , reprezentând cerința ce trebuie rezolvată (, sau ), pe a doua linie și , cu semnificația din enunț, iar pe a treia linie cei termeni ai șirului precizațîn ordinea din șir. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Date de ieșire
În fișierul de ieșire unificare.out
:
- dacă , se va afișa pe prima linie cel mai mare număr de cifre din șirul dat;
- dacă , se va afișa pe prima linie cel mai mare număr obținut prin unificarea a două numere alăturate în șir;
- dacă , se va afișa pe prima linie valoarea maximă obținută prin unificarea a valori aflate pe poziții consecutive.
Restricții și precizări
- ; ; ;
- , pentru oricare ;
- Pentru de puncte, și ;
- Pentru puncte, și ;
- Pentru puncte, și , pentru oricare ;
- Pentru de puncte, și nu există restricții suplimentare;
- Pentru puncte, și ;
- Pentru puncte, și .
Exemplul 1
unificare.in
1
5 3
112 223 12334 561 289
unificare.out
561
Explicație
, și . În șir sunt numere care au exact cifre: , , și , cel mai mare dintre ele fiind .
Exemplul 2
unificare.in
2
5 3
112 223 12334 561 289
unificare.out
6543211
Explicație
, și , nu utilizăm valoarea lui și unificând cu vom obține cea mai mare valoare: .
Exemplul 3
unificare.in
3
5 3
112 223 12334 561 289
unificare.out
9865432211
Explicație
, și . Cea mai mare valoare care se poate obține este și o obținem unificând cu și cu .