cococo


私信TA

用户名:dotcpp0765675

访问量:72

签 名:

等  级
排  名 45129
经  验 327
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:模拟法

注意事项:

参考代码:

n = int(input())

nums = list(map(int,input().split()))
res = 0

def add_(nums):
    res1 = 0
    for i in range(n):
        if nums[i] % 2 != 0:
            nums[i] += 1
            res1 += 1
            
    return nums , res1

def is_ok(nums):
    if len(set(nums)) == 1:
            return True
    return False

add_list = [0] * n
flag = 1

while flag:
    for i in range(n-1,-1,-1):
        
        c = nums[i] // 2
        nums[i] = c
        
        if i != 0:
            add_list[i-1] =  c
        else:
            
            add_list[i-1] =  c
            
            for i in range(n):
                nums[i] += add_list[i]
            add_list = [0] * n
            
            
            if is_ok(nums):
                
                flag = 0
                break
            else:
                nums , res1 = add_(nums)
                res += res1


print(res)


 

0.0分

0 人评分

  评论区

  • «
  • »