prietenie6

Time limit: 0.1s Memory limit: 8MB Input: prietenie.in Output: prietenie.out

Cerință

Se consideră un șir de nn numere naturale nenule.

Pentru un număr natural xx, numim divizor prietenos al lui xx orice divizor pozitiv dd al lui xx care îndeplinește simultan următoarele condiții:

  1. suma cifrelor lui dd este un număr natural nenul;
  2. această sumă divide pe xx.

Indicele de prietenie al lui xx reprezintă numărul total de divizori prietenoși ai lui xx.

Pentru fiecare dintre cele nn numere naturale date, se calculează indicele de prietenie. Cunoscând cerința cc, nn numărul de numere și numerele din șir, se cere:

  1. Să se determine valoarea din șir cu cel mai mare indice de prietenie. Dacă există mai multe valori cu același indice de prietenie maxim, se va afișa ultima dintre ele.
  2. Să se afișeze, în ordine crescătoare, toate numerele din șir care au indicele de prietenie egal cu indicele de prietenie maxim găsit la punctul 11.

Date de intrare

Fișierul de intrare prietenie.in conține pe prima linie numărul natural cc al cerinței, care poate fi doar 11 sau 22, pe a doua linie numărul natural nenul nn și apoi nn numere naturale nenule, separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire prietenie.out va conține pe o linie valorile corespunzătoare cerinței (la cerința 2 numerele sunt separate prin câte un spațiu).

Restricții și precizări

  • 2n100 0002 \leq n \leq 100 \ 000;
  • Fiecare număr din șir este un număr natural nenul 100 000\leq 100 \ 000.
  • Se garantează că există cel puțin un număr în șir.
  • Pentru cerința 11, se acordă 3232 de puncte.
  • Pentru cerința 22, se acordă 6868 de puncte.

Exemplul 1

prietenie.in

1
5
56 36 42 30 48

prietenie.out

48

Explicație

Şirul conține 55 numere: 5656, 3636, 4242, 3030, 4848. Indicii de prietenie sunt: 56556→5, 36936→9, 42742→7, 30830→8, 48948→9.

Cerința este 11, indicele de prietenie maxim este 99, ultima valoare cu indicele de prietenie 99 este 4848.

Exemplul 2

prietenie.in

2
5
56 36 42 30 48

prietenie.out

36 48

Explicație

Şirul conține 55 numere: 5656, 3636, 4242, 3030, 4848. Indicii de prietenie sunt: 56556→5, 36936→9, 42742→7, 30830→8, 48948→9.

Cerința este 22, indicele maxim de prietenie este 99, iar valorile care au acest indice sunt (în ordine crescătoare): 3636 și 4848.

Log in or sign up to be able to send submissions!