== include(page="template/taskheader" task_id="maxim") ==
Fie șirul de numere naturale: a,a+1,a+2,...,b. Din toate numerele acestui șir se poate forma un alt număr prin „lipirea” tuturor cifrelor numerelor din șir, în ordinea din șir. Numim acest număr x. Exemplu: a=97 și b=105. Se va obține prin „lipire” numărul x = 979899100101102103104105.
_Notă: Această problemă a fost modificată, în scop didactic. Ea are acum alte cerințe de timp și memorie._
Fie șirul de numere naturale: [*a*], [*a*]+1, [*a*]+2, ..., [*b*]. Din toate numerele acestui șir se poate forma un alt număr prin „lipirea” tuturor cifrelor numerelor din șir, în ordinea din șir. Numim acest număr [*x*]. Exemplu: [*a*]=97 și [*b*]=105. Se va obține prin „lipire” numărul [*x*] = 979899100101102103104105.
h2. Cerințe
Se citesc numerele naturale a, b și c și se cere să se afișeze cel mai mare număr obținut după eliminarea a exact c cifre din numărul x.
Se citesc numerele naturale [*a*], [*b*] și [*c*] și se cere să se afișeze cel mai mare număr obținut după eliminarea a exact [*c*] cifre din numărul [*x*].
h2. Date de intrare
Se citesc din fisierul $maxim.in$ pe o linie, în ordine, numerele a, b și c, separate de un spațiu.
Se citesc din fisierul $maxim.in$ pe o linie, în ordine, numerele [*a*], [*b*] și [*c*], separate de un spațiu.
h2. Date de ieșire
În fișierul de ieșire $maxim.out$ veți scrie numărul maxim obținut după eliminarea celor c cifre.
În fișierul de ieșire $maxim.out$ veți scrie numărul maxim obținut după eliminarea celor [*c*] cifre.
h2. Restricții
1. Numerele a, b și c sunt naturale și 1 ≤ a ≤ b ≤ 10000
2. 1 ≤ c < (numărul de cifre ale numărului x).
3. Cifrele eliminate pot fi oriunde în cadrul numărului x, nu neapărat pe poziții consecutive.
# Numerele [*a*], [*b*] și [*c*] sunt naturale și 1 ≤ [*a*] ≤ [*b*] ≤ 10 000
# 1 ≤ [*c*] < (numărul de cifre ale numărului [*x*]).
# Cifrele eliminate pot fi oriunde în cadrul numărului [*x*], nu neapărat pe poziții consecutive.
h2. Exemplu
table(example).
|_. maxim.in |_. maxim.out |_ Explicații |
table(example).
|_. maxim.in |_. maxim.out |_. Explicații |
| 13 19 8
| 671819
| a=13, b=19 și c=8. Numărul x obținut prin „lipire” este 13141516171819. Numărul minim este 671819, după ce s-au eliminat c=8 cifre și anume: 1,3,1,4,1,5,1 de pe primele poziții și apoi cifra 1 de după cifra 6; astfel, numărul rămas este 671819.
| a=13, b=19 și c=8. Numărul x obținut prin „lipire” este 13141516171819.
Numărul maxim este 671819, după ce s-au eliminat c=8 cifre și anume:
1,3,1,4,1,5,1 de pe primele poziții și apoi cifra 1 de după cifra 6; astfel,
numărul rămas este 671819.
|
h2. Bonus
Faimă și prestigiu suplimentar celor care rezolvă această problemă folosind O(Σ) memorie ☺
== include(page="template/taskfooter" task_id="maxim") ==