求救
查看原帖
求救
493798
dyx2021楼主2022/10/8 18:30
#include<bits/stdc++.h>
using namespace std;
int n,a[100001],x,y,z,nm,num,l,r,b,ans;
bool f;
signed main()
{
	//freopen("mod.in","r",stdin);
	//freopen("mod.out","w",stdout);
	cin>>n;
	for(register int i=1;i<=n;i++)
	cin>>a[i];
	sort(a+1,a+1+n);
	z=a[n];
	for(register int j=1;j<n-1;j++)
	{
	nm=j+1,f=0;
	while(a[j]==a[nm])
	nm++;
	if(nm!=j+1)
	{
		num=nm;
		f=1;
	}
	if(a[j]+a[nm]<z)
	{
		while(a[j]+a[nm]<z)
		nm++;
		ans=max(ans,a[j]+a[--nm]);
	}
	if(f==1)
	j=num;
	}
	for(register int j=n-2;j>=1;j--)
	if(a[j]!=a[n-1])
	{
		b=a[j];
		break;
	}
	cout<<max(ans,(b+a[n-1]%z))<<endl;
	return 0;
}
2022/10/8 18:30
加载中...