Pagini recente » Cod sursa (job #2577868) | Cod sursa (job #1735948) | Cod sursa (job #1805279) | Cod sursa (job #2053199) | Cod sursa (job #1072663)
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("popularitate.in");
ofstream g("popularitate.out");
int k,m,d,i,z,q,nr,Max,Min,r,j,a[4000],v[4000],x,t,k1,ok,l,b[4000];
int main()
{f>>k;
f>>m;
k1=k;
l=0;
for(d=2;d<=sqrt(k1);d++){
nr=0;
if(k%d==0){
l++;
b[l]=d;
while(k%d==0){
k=k/d;
nr++;}
a[l]=nr;}}
if(k!=1){
b[l+1]=k;
a[l+1]=1;
for(i=1;i<=m;i++){
Min=9999999;
f>>x;
for(j=1;j<=x;j++){
f>>r;
for(d=1;d<=l+1;d++){
nr=0;
if(r%b[d]==0){
while(r%b[d]==0){
r=r/b[d];
nr++;}
v[d]=v[d]+nr;}}
}
for(q=1;q<=l+1;q++){
if(Min>v[q]/a[q])
Min=v[q]/a[q];
v[q]=0;}
if(Max<Min){
Max=Min;
t=i;}}}
else{
for(i=1;i<=m;i++){
Min=9999999;
f>>x;
for(j=1;j<=x;j++){
f>>r;
for(d=1;d<=l;d++){
nr=0;
if(r%b[d]==0){
while(r%b[d]==0){
r=r/b[d];
nr++;}
v[d]=v[d]+nr;}}
}
for(q=1;q<=l;q++){
if(Min>v[q]/a[q])
Min=v[q]/a[q];
v[q]=0;}
if(Max<Min){
Max=Min;
t=i;}}}
if(Max==0&&t==0)
g<<0<<" "<<1;
else
g<<Max<<" "<<t;
return 0;
}