CF797F Mice and Holes
题目描述
有一天,Masha 回到家时发现走廊里有 $n$ 只老鼠。她大声喊叫,受惊的老鼠们开始奔向走廊上的洞穴。
可以将走廊表示为数轴,上面有 $n$ 只老鼠和 $m$ 个洞。第 $i$ 只老鼠在坐标 $x_{i}$ 处,第 $j$ 个洞的位置为 $p_{j}$。第 $j$ 个洞最多可以容纳 $c_{j}$ 只老鼠,因此不能有超过 $c_{j}$ 只老鼠进入该洞。
请问所有老鼠都能藏进洞里所需通过的最小距离和是多少?如果第 $i$ 只老鼠跑进了第 $j$ 个洞,则它需要走的距离为 $|x_{i}-p_{j}|$。
请输出所需的最小距离和。
输入格式
第一行包含两个整数 $n$,$m$($1 \leq n, m \leq 5000$)——表示老鼠的数量和洞的数量。
第二行包含 $n$ 个整数 $x_{1},x_{2},...,x_{n}$($-10^9 \leq x_{i} \leq 10^9$),表示每只老鼠的位置。
接下来 $m$ 行,每行包含两个整数 $p_{j},c_{j}$($-10^9 \leq p_{j} \leq 10^9, 1 \leq c_{j} \leq 5000$),表示第 $j$ 个洞的位置和其最大容量。
输出格式
输出一个整数,表示最小距离和。如果无解,则输出 -1。
说明/提示
由 ChatGPT 5 翻译