求助ABC277D
  • 板块灌水区
  • 楼主Fenestro
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/11/13 13:29
  • 上次更新2023/10/27 03:07:24
查看原帖
求助ABC277D
728419
Fenestro楼主2022/11/13 13:29
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,sum1,sum2;
vector<ll> dif;
struct num{
	ll val,mo;
}c[200005];
bool cmp(num a,num b){
	return a.mo<b.mo;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>c[i].val,c[i].mo=c[i].val%m,sum1+=c[i].val;
	sort(c+1,c+1+n,cmp);
	sum2=sum1;
	for(int i=1;i<=n;i++)
	{
		if(c[i+1].mo-c[i].mo<=1&&i<=n-1) sum2-=c[i].val;
		else
		{
			sum2-=c[i].val;
			dif.push_back(sum2);
			sum2=sum1;
		}
	}
	sort(dif.begin(),dif.end());
	cout<<dif[0];
	return 0;
}

32/40

2022/11/13 13:29
加载中...