== include(page="template/taskheader" task_id="cmmdc2") ==
Poveste şi cerinţă...
Fie un şir de numere naturale nenule a[~1~], a[~2~], ..., a[~n~] şi un număr natural $k$.
h2. Cerinţă
Să se determine un grup de $k$ numere din şir care au proprietatea ca 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ă.
h2. Date de intrare
Fişierul de intrare $cmmdc2.in$ ...
Fişierul de intrare $cmmdc2.in$ conţine pe prima linie numerele naturale $n$ şi $k$ separate prin spaţiu. Pe linia a doua se găsesc numerele naturale a[~1~], a[~2~], ..., a[~n~] separate prin câte un spaţiu.
h2. Date de ieşire
În fişierul de ieşire $cmmdc2.out$ ...
În fişierul de ieşire $cmmdc2.out$ conţine pe prima linie un număr natural reprezentând cel mai mare divizor comun a exact $k$ numere din şir, maxim posibil.
Pe linia a doua, separate prin câte un spaţiu şi *ordonate descrescător*, se află cele $k$ numere din şir care dau cel mai mare divizor comun maxim.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ n ≤ 1.000.000$
* $1 ≤ k ≤ 100.000$
* $k ≤ n$
* $1 ≤ a[~i~] ≤ 1.000.000, pentru 1 ≤ i ≤ n$
* $Valorile din şir se pot repeta.$
h2. Exemplu
table(example). |_. cmmdc2.in |_. cmmdc2.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
...
table(example). |_. cmmdc2.in |_. cmmdc2.out |_. Explicaţie |
| 6 3
6 9 8 10 15 3
| 3
15 9 6
| 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, 9 şi 6.
|
== include(page="template/taskfooter" task_id="cmmdc2") ==
== include(page="template/taskfooter" task_id="cmmdc2") ==