题目:
小易在维护数据的时候遇到一个需求,具体来说小易有一系列数据,这些数据了构成一个长度为n的数字序列,接下来小易会在这个序列上进行q次操作。
每次操作有一个查询的数字x,小易需要将序列数据中所有大于等于x的数字都减一,并输出在本次操作中有多少个数字被减一了。
解答
c = input('数字个数和操作次数:')
d = c.split(' ')
n,q = int(d[0]),int(d[1])
a = input('请输入初始数:')
b = a.split(' ', n)
list1 = []
for i in b:
list1.append(int(i))
list2 = []
while q:
x = int(input('指定数字:'))
list2.append(x)
q -= 1
for k in list2:
list3 = []
count = 0
for j in list1:
if j >= k:
list3.append(j-1)
count += 1
else:
list3.append(j)
list1 = list3.copy()
print('有' + str(count) + '个数字被减一。')