51nod 1463 找朋友

zcmimi at 
查看原题'" class='mdui-btn mdui-btn-raised'>点击加载点击跳转先把所有区间按右端点排序。因为$m \le 10$,所以直接枚举$k$值就可以了假设当前位置为$i$,现在要找位置$j$满足$|b_i-b_j|$等于当前$k$值,可以是$b_i-b_j$,即$b_i > k$,也可以是$b_j - b_i = k$即$b_i+k = b_j, b_i+k\le n$我们事先用$p_x$记录值为$x$在$b$数组中的哪个位置($b_i$互不相同,也就是$b$数组是$1$~$n$的组合)用线段树维护位置$i$可以达到的最大的值就可以了,因为已经按右端点排序好了,……