cmmdc

Time limit: 0.3s Memory limit: 32MB Input: cmmdc.in Output: cmmdc.out

Fie un şir de numere naturale nenule a[1],a[2],,a[n]a[1], a[2], \dots , a[n] şi un număr natural kk.

Cerință

Să se determine un grup de kk numere din şir care au proprietatea că cel mai mare divizor comun al lor este maxim.
Dacă există mai multe astfel de grupuri, se cere acel grup pentru care suma elementelor este maximă.

Date de intrare

Fişierul de intrare cmmdc.in conţine pe prima linie numerele naturale nn şi kk separate prin spaţiu. Pe linia a doua se găsesc numerele naturale a[1],a[2],,a[n]a[1], a[2], \dots , a[n] separate prin câte un spaţiu.

Date de ieșire

În fişierul de ieşire cmmdc.out conţine pe prima linie un număr natural reprezentând cel mai mare divizor comun a exact kk numere din şir, maxim posibil.
Pe linia a doua, separate prin câte un spaţiu şi ordonate descrescător, se află cele kk numere din şir care dau cel mai mare divizor comun maxim.

Restricții și precizări

  • 1n1 000 0001 \leq n \leq 1 \ 000 \ 000
  • 1k100 0001 \leq k \leq 100 \ 000
  • knk \leq n
  • 1a[i]1 000 0001 \leq a[i] \leq 1 \ 000 \ 000, pentru 1in1 ≤ i ≤ n
  • Valorile din şir se pot repeta.

Exemplu

cmmdc.in

6 3
6 9 8 10 15 3

cmmdc.out

3
15 9 6

Explicație

Cel mai mare divizor comun care se poate obţine dintr-un grup de 3 numere este 3, iar cele 3 numere care dau suma maximă, ordonate descrescător, sunt 15,915, 9 şi 66.

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