Xeroax 2021-05-25 17:44 采纳率: 100%
浏览 32
已结题

python新手进阶题

现在有一个非负数组h1,h2.....hn,最多可以对它进行k次以下操作:h1每加1,hn-1,即将hn的值转移1个单位到第一个数。若hn为0,继续对hn的前一个数字进行操作,直至操作k次,最终保证第一个数最大。输出操作后的数组

输入 n k  

       h1 h2  

输出 m1 m2

示例:

输入 2   7  

        1   0  

输出 1   0

输入 3  10  

        10   9   9  

输出 20   8   0

  • 写回答

3条回答 默认 最新

  • 关注

     或者这样代码更好理解一些

     

    n, k = input().strip().split()
    n = int(n)
    k = int(k)
    lst = [int(v) for v in input().strip().split()]
    t = len(lst)-1
    while k>0 and t>0:
        if lst[t]==0:
            t -= 1
            continue
        lst[t] -=1
        lst[0] +=1
        k -= 1
    
    print(*lst,sep=" ")
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line