(我写到这里用了45分钟,后面就动不了了.我还是太菜了.
用一个数组d[i]来表示,x为i时,需要替换多少个数字.
我们取极端情况,当大的那个数字为1时,在修改一个数字的时候,和最小,为minn+1.
当小的那个数字为k时,在修改一个数字的时候,和最大,为maxn+k.
4,x为sum时,不需要修改,但是sum在第二种情况中已经被修改了,所以需要补上来 ,d[sum]- -,d[sum+1]++.
然后从2到2*k跑一边差分取最小值即可.
版权声明: 本博客所有文章除特别声明外,著作权归作者所有.转载请注明出处!