为什么开O2就AC,不开就20
查看原帖
为什么开O2就AC,不开就20
409774
Maysoul楼主2023/4/2 11:23

rt

//2023/4/2
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
int num,ans;
int a[1000000];
int main()
{
	int n;
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
		num+=a[i];
	}
	num/=n;
	for (int i=1;i<=n;i++)
	{
		a[i]-=num;
	}
	int i,j=n;
	while(a[i]==0&&i<n)
	{
		i++;
	}
	while(a[j]==0&&j>1)
	{
		j--;
	}
	int step=0;
	while(i<j)
	{
		a[i+1]+=a[i];
		a[i]=0;
		step++;
		i++;
		while(a[i]==0&&i<j)
		{
			i++;
		}
	}
	cout<<step<<endl;
	return 0;
}

2023/4/2 11:23
加载中...