虽然过了,但是我自己都不太理解,这也算贪心吗
查看原帖
虽然过了,但是我自己都不太理解,这也算贪心吗
890929
yiban202241040105楼主2023/10/29 15:42
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+ 1;
#define read(a) {char c;while((c=getchar())>47) a=a*10+(c^48);}
using namespace std;
int n, m;
int g[N];
int d[N];
int main()
{
	read(n);
	int sum = 0;
	int ans = 0;
	for (int i = 0; i < n; i++)
	{
		cin >> g[i];
		sum += g[i];
	}
	int p = sum / n;
	for (int i = 0; i < n; i++)
	{
		if (g[i] > p)
		{
			g[i + 1] += g[i] - p;
			ans++;
		}
		else if(g[i]<p)
		{
			g[i + 1] -= p - g[i];
			g[i] = p;
			ans++;
		}
	}
	cout << ans << endl;
	return 0;
}

2023/10/29 15:42
加载中...