萌新的30分求助
查看原帖
萌新的30分求助
1115386
dingxiangqian楼主2024/3/3 12:34

只对了1,2,8三个,求大佬指点修改

#include<bits/stdc++.h>
using namespace std;
int l[200010]={0}; 
int d[6]={0};
int main()
{
	int max1=0,max2=0,max3=0,n,m1,m2,m3,sum,max4,m4;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>l[i];	
	} 
	sort(l,l+(n-1));
	max1=*max_element(l,l+n); 
	m1=find(l,l+n, max1)-l;
	l[m1]=0;
	max2=*max_element(l,l+n); 
	m2=find(l,l+n,max2)-l;
	l[m2]=0;
	max3=*max_element(l,l+n); 
	m3=find(l,l+n,max3)-l;
	l[m3]=0;	
	d[0]=max1%max2;
	d[1]=max1%max3;
	d[2]=max2%max1;
	d[3]=max2%max3;
	d[4]=max3%max1;
	d[5]=max3%max2;
	sort(d,d+5);
	for(int i=0;i<=5;i++)
	{
		if(d[i]>0)
		{
			sum++;
		}
	}
	if(sum<2)
	{
		cout<<-1;
		return 0;
	}
	max4=*max_element(d,d+5);
	m4=find(d,d+5, max4)-d;
	d[m4]=0;
	cout<<*max_element(d,d+5);
	return 0;	 
 }
2024/3/3 12:34
加载中...