Pagini recente » Cod sursa (job #3237576) | Cod sursa (job #2311834) | Cod sursa (job #2962151) | Cod sursa (job #1262216) | Cod sursa (job #1910026)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("grupe2.in");
ofstream out("grupe2.out");
vector<int> g[1000];
int maxim (vector<int> v)
{
int vm=v[0],i;
for(i=1; i<v.size(); i++)
{
if(v[i]>vm)
vm=v[i];
}
return vm;
}
int nrdiv(int n)
{
int nrd=0;
int div=1;
while(div*div<n)
{
if(n%div==0)
nrd=nrd+2;
div++;
}
if(div*div==n)
nrd++;
return nrd;
}
int main()
{
int n,m,i,nrd,ia,ib,x;
in>>n >>m;
for(i=0; i<n*m; i++)
{
in>>x;
nrd=nrdiv(x);
g[nrd].push_back(x);
}
ia=ib=0;
for(i=2; i<100; i++)
{
if(g[i].size()>=g[ia].size())
{
ib=ia;
ia=i;
}
else if(g[i].size()>=g[ib].size())
ib=i;
}
out<<ia<<' '<<g[ia].size()<<' '<<maxim(g[ia])<<endl;
if (g[ib].size() != 0)
{
out<<ib<<' '<<g[ib].size()<<' '<<maxim(g[ib])<<endl;
}
else
{
out << "0 0 0\n";
}
return 0;
}