求助,前7个WA,后3个MLE
查看原帖
求助,前7个WA,后3个MLE
546578
xiaopangchi楼主2021/12/25 19:17
#include<bits/stdc++.h>
#define long long int
using namespace std;
int c(int x,int y);
class ma
{
public:
    ma();
    void indat(int a[],int n);
    void mod(int a[],int b[],int n,int s);
    void qc(int b[],int s);
    int tj(int b[],int s);
    int js(int b[],int ss);
};
ma::ma()
{
	
}
void ma::indat(int a[],int n)
{
	for(int i=0;i<n;i++)
	{
		cin >> a[i];
	}
}
void ma::mod(int a[],int b[],int n,int s)
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			b[s]=a[i]%a[j];
			s++;
		}
	}
}
void ma::qc(int b[],int s)
{
	for(int i=0;i<s;i++)
	{
		for(int j=0;j<s;j++)
		{
			if(b[i]==b[j]
			&& i!=j)
			{
				b[j]=0;
			}
		}
	}
}
int ma::tj(int b[],int s)
{
	int f=0;
	for(int i=0;i<s;i++)
	{
		if(b[i]!=0)
		{
			f++;
		}
	}
	return f;
}
int ma::js(int b[],int ss)
{
	sort(b,b+ss,c);
	return b[1];
}
signed main()
{
	ma *t=new ma();
	int n,s=0,ss;
	cin >> n;
    int a[1000000],b[10000000];
    t->indat(a,n);
    t->mod(a,b,n,s);
    t->qc(b,s);
    ss=t->tj(b,s);
    if(ss<2)
    {
    	cout << "-1";
		return 0; 
	}
    cout << t->js(b,ss);
    delete t;
    return 0;
}
int c(int x,int y)
{
	return x>y;
}
2021/12/25 19:17
加载中...