AcWing 3151. 分糖果
原题链接
简单
作者:
Nazarena
,
2021-01-25 21:27:31
,
所有人可见
,
阅读 560
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int a[100],n;
int judge()
{
int num = a[0];
for(int i=1;i<n;i++)
{
if(num != a[i])
return 0;
}
return 1;
}
int main()
{
int sum = 0,flag = 1,half[100];
cin >> n;
for(int i=0;i<n;i++)
cin >> a[i];
while(flag)
{
if(judge()) //相等
flag = 0;
else
{
for(int i=0;i<n;i++)
{
half[i] = a[i]/2;
a[i] = a[i]/2;
}
for(int i=0;i<n-1;i++)
a[i] = a[i] + half[i+1];
a[n-1] = a[n-1] + half[0];
for(int i=0;i<n;i++)
{
if(a[i]%2 != 0)
{
a[i] += 1;
sum++;
}
}
}
}
cout << sum;
return 0;
}