Algoritmul, pas cu pas
Toate cele trei cerințe se sprijină pe aceeași idee. Când unific un grup de numere, nu mă interesează în ce ordine apar cifrele, ci doar câte cifre de fiecare fel am la grămadă — pentru că la final le rearanjez oricum descrescător ca să obțin cel mai mare număr. Așa că, în loc să construiesc numere uriașe, țin un singur contor cnt[0..9]: cnt[d] = de câte ori apare cifra în grup. Atenție: o cifră dintr-un număr contează o singură dată, oricât s-ar repeta în el ( aduce un singur și un singur ).