Pagini recente » Solutia problemei shoturi | Cod sursa (job #2139984) | Cod sursa (job #1399096) | Cod sursa (job #1148764) | Cod sursa (job #3194840)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("cmmdc2.in");
ofstream fout ("cmmdc2.out");
int f[1000001],v;
int main()
{
int n,k;
fin>>n>>k;
for (int i=1; i<=n; i++)
{
fin>>v;
f[v]++;
}
int cop=1;
for (int i=1000000; i>=2; i--)
{
int ct=0,m=1;
while (m*i<=1000000)
{
ct+=f[m*i];
m++;
}
if (ct>=k)
{
cop=i;
i=0;
}
}
fout<<cop<<'\n';
for (int i=1000000; i>=1; i--)
{
if (i%cop==0)
{
while (f[i]>0 && k>0)
{
fout<<i<<" ";
k--;
f[i]--;
}
}
}
return 0;
}