小易在维护数据的时候遇到一个需求,具体来说小易有一系列数据,这些数据了构成一个长度为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)