蒟蒻果冻在线求助
查看原帖
蒟蒻果冻在线求助
1086022
Rh_codeing_ysh楼主2023/10/8 19:23
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+7;
int n,m,num;
int a[maxn];
int check(int n)
{
	int det=m,s=a[n]-a[n-1];
	if(det>s)
	return 1;	
	else
	return 0;	
}
int main() 
{ 
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	sort(a+1,a+1+n);
	int ans=a[1],c=0;
	for(int i=2;i<=n;i++)
	{
		if(ans==a[i])
		{
			ans=a[i];
			continue;
		}
		
		if(check(i)==0)
		c=1;
		
		if(c==1&&ans+m>a[i])
		{
			num=num+ans+m-a[i];
			c=0;
			ans=a[i];
			continue;
		}
		else if(c==1)
		{
		c=0;
		ans=a[i];	
		}
		
		if(check(i)==1)
		{
			num=num+a[i]-ans;
			ans=a[i];
		}
		
	}
	printf("%d",num);
}
2023/10/8 19:23
加载中...