后知后觉,mex的计算那里从后往前计算只需要一个变量保持增长就可以达到O(n)复杂度了😭 import sys def get_mex(elements): mex = [] tempmex = 0 tempele = set() for i in reversed(range(len(elements))): tempele.add(elements[i]) while tempmex in tempele: tempmex += 1 mex.append(tempmex) return reversed(mex) def calc_min(elements, mex, k, x): cost = min(x, k*mex[-1]) for i in reversed(range(len(elements)-1)): cost = min(k*mex[i], x+cost) return cost T = int(sys.stdin.readline().strip()) for _ in range(T): temp = sys.stdin.readline().strip().split() n,k,x = int(temp[0]), int(temp[1]), int(temp[2]) temp = sys.stdin.readline().strip().split() elements = [int(i) for i in temp] mex = get_mex(elements) result = calc_min(elements, mex, k, x) print(result)
点赞 评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务