1
1
已采纳
栾峻岩
初级天翼
初级天翼
这道题虽然没有给数据范围,但一定要用二分做!
输入后要把代表每个商店的售价的数组排个序。(因为二分查找要求是序列严格单调,排序最好为从小到大)。
因为要求n个酷町喵最小的不满意度,所以循环表示酷町喵心里预估的买鱼预算的数组寻找最小的不满意度,用一个变量加起来。
二分是用来求:每个预酷町喵心里预估的买鱼预算的最小不满意度,就是求每一个预酷町喵心里预估的买鱼预算在代表每个商店的售价的数组相差最小的一个数。(可以求最后一个小于等于买鱼预算的数,或者是第一个大于买鱼预算的数,代码见2778或2779).
有两个数是最接近的,一个是最后一个小于等于买鱼预算的数,还有一个是第一个大于买鱼预算的数,最小的不满意度就是这两个数与买鱼预算差的最小值。
还要特判边界:
if (l==1)
num+=a[1]-b[i];
else
num+=min(abs(a[l]-b[i]),abs(a[l-1]-b[i]));
0