60分求助
查看原帖
60分求助
924166
shiranai楼主2023/2/15 16:59
#include<stdio.h>
int arr[100];
int main()
{
	int n,per=0,cnt=0,loop=1,lack=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d",arr+i);
		per+=arr[i];
	}
	per/=n;
	while(loop)
	{
		loop=0,lack=0;
		for(int i=0;i<n-1;i++)
		{
			if(arr[i]>per)
			{
				arr[i+1]+=(arr[i]-per);
				cnt++;
				arr[i]=per;
			}
			else if(arr[i]<per)
			{
				lack+=per-arr[i];
				if(arr[i+1]<lack) loop=1;
				else
				{
					arr[i+1]-=lack;
					cnt++;
					arr[i]+=lack;
					lack=0;
				}
			}
		}
	}
	printf("%d",cnt);
	return 0;
}

#4 #5 TLE 不太明白为什么(下载机会被我弄完了) 蒟蒻恳请各位大佬指点(或者赏蒟蒻一个测试数据)

2023/2/15 16:59
加载中...