U269456 Mice and Holes 加强版
题目描述
有一天撒碧回到家,发现有 $n$ 只老鼠在他家的走廊上,他大声呼叫:“啊,撒碧啊!”,所以老鼠们都跑进了走廊的洞中。
这个走廊可以用一个数轴来表示,上面有 $n$ 只老鼠和 $m$ 个老鼠洞。第 $i$ 只老鼠有一个坐标 $x_i$ ,第 $j$ 个洞有一个坐标 $p_j$ 和容量 $c_j$ 。容量表示最多能容纳的老鼠数量。
找到让老鼠们全部都进洞的方式,使得所有老鼠运动距离总和最小。
老鼠 $i$ 进入洞 $j$ 的运动距离为 $|xi−pj|$ 。
无解输出 $-1$ 。
输入格式
第一行包含两个整数 $n,m$ ,表示老鼠和洞的数量。
第二行包含 $n$ 个整数 $x_1...x_n$ ,表示老鼠坐标。
接下来 $m$ 行每行两个整数 $p,c$ ,表示每个洞的坐标和容量。
输出格式
输出最小运动距离或者 $-1$ 。
说明/提示
对于 $100\%$ 的数据,满足 $1≤c,n,m≤10^6,1≤|p|,|x|≤10^9$ 。
[题解](https://www.cnblogs.com/jiangxuancheng/p/15047016.html)。