sort

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.

Restrictii

Exemplu

sort.in sort.out
3 1
5
7
10
7
10
5

Timp maxim de executie/test: 0.3 secunde

prof. Popescu Carmen
Colegiul Naţional "Gheorghe Lazăr" Sibiu
carmen_cngl@yahoo.com