P3076 [USACO13FEB] Taxi G
题目描述
在长度为 $M$ 的栅栏上,有 $N$ 头牛需要坐车前往别的地方,起点和终点分别为 $a_{i}$ 和 $b_{i}$。现在一辆出租车从最左端 $0$ 出发,要运送完所有牛,最后到达最右端 $M$,求最小路程。出租车只能一次载一只牛。
**注意:你可以中途将所载的牛放下去,再载别的牛,可以通过样例辅助理解。**
输入格式
第一行输入两个正整数 $N,M$,表示牛的数量和栅栏的长度。
接下来 $N$ 行,每行输入两个正整数 $a_{i},b_{i}$,表示第 $i$ 头牛的起点和目的地。
输出格式
输出共一行,输出一个正整数,表示所求的最短路程。
说明/提示
### 样例解释
在样例中,有两头牛在一段长度为 $10$ 的栅栏边上等车。第一头牛想从位置 $0$(出租车的起点所在的位置)到位置 $9$。第二头牛希望从位置 $6$ 到位置 $5$。
出租车在位置 $0$ 接上第一头牛,然后到达位置 $6$。在那里,出租车先放下第一头牛,再把第二头牛送到它的目的地,然后返回去接第一头牛。出租车把第一头牛送到目的地后,再开车沿栅栏到达右侧。
### 数据范围与约定
对于 $100\%$ 的数据,保证 $1 \le N \le 10^{5}$,$1 \le a_{i},b_{i} \le M \le 10^{9}$。