n = int(input()) m = int(input()) a = list(map(int,input().split())) b = list(map(int,input().split())) newl = [] prem = []                             #维护前m项ai-m*bi最小值 for i in range(len(a)):     newl.append((a[i],b[i])) newl = sorted(newl,key=lambda x:(x[1],x[0]),reverse=True) for i in range(m):     prem.append([newl[i][0]-i*newl[i][1],i]) for i in range(m,n):     minmum = min(prem)     index = prem.index(minmum)     if newl[i][0]-(m-1)*newl[i][1]>minmum[0]:         del prem[index]         for ind in range(index,m-1):             prem[ind][0] += newl[prem[ind][1]][1]         prem.append([newl[i][0]-(m-1)*newl[i][1],i])     else:continue print(sum([i[0] for i in prem])) 这么做不知道对不对。。考试的时候没写完,全当抛砖引玉吧。。。。