救救孩子吧,孩子已经疯了
查看原帖
救救孩子吧,孩子已经疯了
950498
Base_ring_tree楼主2024/4/3 15:43
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
int a[100005];
int c[100005];
int mid[100005];
int b[100005];
int cnt,num;
int maxnn;
int f;
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]%m==(m/2)&&m%2==0)
		mid[++num]=a[i];
		else if(a[i]%m==0)
		{
			c[++cnt]=a[i];
		}
		else
		b[a[i]%m]=max(b[a[i]%m],a[i]);
	}
	sort(c+1,c+cnt+1);
	sort(mid+1,mid+num+1);
	int maxn=c[cnt]+c[cnt-1]+c[cnt-2];
	if(m%2==0)
	{
		maxnn=c[cnt]+mid[num]+mid[num-1];
	}
	for(int i=1;i<=m/2;i++)
	{
		if(m%2==0&&i==(m/2))
		{
			break;
		}
		maxnn=max(maxnn,b[i]+b[m-i]+c[cnt]);

	}

	cout<<maxnn;
	return 0;
 }

十分

2024/4/3 15:43
加载中...