Se definesc urmatoarele
functii:
f(n,k)=n*(n-k)*(n-2*k)*...*(n-i*k)
unde i este cea mai mare valoare
naturala pentru care n-i*k>0,
g(n)=
numarul obtinut prin eliminarea zerourilor de la sfârsitul numarului n.
De exemplu f(8,3)=8*5*2=80, g(120500)=1205.
Cerinta
Dându-se un numar
natural nenul k si un sir de
n numere naturale nenule x1,
x2, ..., xn
se cere sa se reordoneze numerele din sir astfel încât, la sfârsit, concatenând
cifrele numerelor g(f(x1,k)),
g(f(x2,k)), ..., g(f(xn,k))
sa se obtina o valoare maxima posibila.
De exemplu pentru k=1, x=(5,7,10),
obtinem g(f(x1,k))=12,
g(f(x2,k))=504, g(f(x3,k))=36288.
Numarul maxim ce se poate obtine prin concatenarea cifrelor celor trei valori
este 5043628812, deci în final
componentele sirului dat trebuie sa se gaseasca în ordinea 7,
10, 5.
Date de intrare
Pe prima linie
a fisierului de intrare sort.in
se gasesc numerele naturale n
si k separate printr-un spatiu.
Pe urmatoarele n linii se gasesc
cele n elemente ale sirului x,
câte un numar pe fiecare linie a fisierului de intrare.
Date de iesire
Fisierul de iesire
sort.out va contine pe prima
sa linie, cele n elemente ale
sirului dat, sortate conform regulilor de mai sus, cate un numar pe o linie.