小易在维护数据的时候遇到一个需求,具体来说小易有一系列数据,这些数据了构成一个长度为n的数字序列,接下来小易会在这个序列上进行q次操作。
每次操作有一个查询的数字x,小易需要将序列数据中所有大于等于x的数字都减一,并输出在本次操作中有多少个数字被减一了。
小易犯了难,希望你能帮帮他。
第一行n,q,表示数字个数和操作个数。
接下来一行n个数表示初始的数字。
接下来q行,每行一个数,表示指定的数字x。,
对于每个询问,输出一个数字表示答案
4 3 1 2 3 4 4 3 1
1 2 4
3 2 1 2 3 3 3
1 0
随机生成几组数试了一下 import random import numpy as np n=random.randint(1,20) x=np.random.randint(1,10,random.randint(1,10)) s=np.random.randint(1,20,n) for i in x: print(len(s[s>=i])) s=np.where(s>=i,s-1,s)
n,q= list(map(int, input().split(' ')))
lis=list(map(int, input().split(' ')))
lis.sort(reverse=True)
while q:
q = q-1
val = int(input())
num=0
ma=lis[0]
i=0
while (ma>=val)&(i<n):
lis[i]=;lis[i]-1
num=num+1
i=i+1
if i<n:
ma=lis[i]
print(num)