AcWing 3151. 分糖果
原题链接
简单
作者:
lyf11
,
2021-02-06 21:26:16
,
所有人可见
,
阅读 1077
#include<stdio.h>
int i,n,a,flag;
int arr[100],half[100];
int main()
{
int f();
a=0;
flag=1;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
while(flag)
{
if(f())
flag=0;
else
{
for(i=0;i<n;i++)
{
half[i] = arr[i]/2;
arr[i] = arr[i]/2;
}
for(i=0;i<n-1;i++)
arr[i] = arr[i] + half[i+1];
arr[n-1] = arr[n-1] + half[0];
for(i=0;i<n;i++)
{
if(arr[i]%2!=0)
{
arr[i]+=1;
a++;
}
}
}
}
printf("%d",a);
return 0;
}
int f()
{
int num=arr[1];
for(i=0;i<n;i++)
{
if(num!=arr[i])
return 0;
}
return 1;
}