2022.11.25
今晚闲来无事,在zhoj群中看到管理员发布的牛客小白月赛的通知,就和舍友一起参加了。

来源:牛客网
牛牛在幼稚园做义工,幼稚园中共有 nnn 颗树,第 1 天中午时它们的高度分别为:h1,h2,…,hnh_1,h_2,…,h_nh1,h2,…,hn(单位:厘米)。
每一天的晚上每棵树的高度都会增加 aaa 厘米,而牛牛的任务则是在第二天的清晨检查每一颗树的高度,若某颗树的高度超过了 kkk 厘米牛牛就会将它的高度修剪为 bbb 厘米。
牛牛想请你帮它计算一下第 mmm 天中午每一颗树的高度。
本题采用多组案例输入,第一行一个整数 TT 代表案例组数。
每组案例中,第一行输入一个数 nnn。
接下来一行输入 nn 个由空格分隔的整数代表:h1,h2,…,hnh_1,h_2,…,h_nh1,h2,…,hn
。
接下来一行输入三个由空格分隔的整数代表:akba\ k\ ba k b。
接下来一行输入一个整数代表:mmm。
保证:
0 0 单个测试点中所有案例 nnn 的和与 mmm 的和都不超过 30003000
对于每组案例,输出一行 nnn 个空格分隔的整数代表第 mmm 天中午每棵树的高度(单位:厘米),案例与案例之间用换行分隔。
注意审题,若某颗树的高度超过了 kkk 厘米牛牛就会将它的高度修剪为 bbb 厘米。
不是修剪了 bbb 厘米。
t = int(input()) # 多组案例输入,整数 T 代表案例组数
for i in range(t):n = int(input()) # n表示有几颗树h = list(map(int, input().split())) # h表示树的高度a, k, b = map(int, input().split()) # 每一天的晚上每棵树的高度都会增加 a 厘米,而牛牛的任务则是在第二天的清晨检查每一颗树的高度,若某颗树的高度超过了 k 厘米牛牛就会将它的高度修剪为 b 厘米。m = int(input())m -= 1 # 第一天是生长,第二天才会修剪for i in range(m):for i in range(n):h[i] += a # 每天都会长if h[i] > k: # 若某颗树的高度超过了 k 厘米牛牛就会将它的高度修剪为 b 厘米。h[i] = b # 注意,不是h[i] -= b,这表示修剪了b厘米print(" ".join(str(i) for i in h)) # 以空格进行输出t -= 1 # 多组案例输入,T 代表案例组