题目描述
贝茜正在为农场上的其他奶牛开出租车。奶牛沿着一条长为M(1<=M<=1000000000)的围栏在不同的地点聚集。不幸的是,他们已经厌倦了他们目前的位置,每个人都希望沿着栅栏去别的地方。贝西必须在出发地接她的每个朋友,开车送他们到目的地。贝西的车很小,所以她一次只能用车运送一头牛。奶牛可以瞬间进出汽车。为了节省汽油,贝茜想尽量减少开车的次数。给定N头奶牛的起始和结束位置(1<=N<=100000),确定贝西需要做的最少驾驶量。贝西意识到,为了节省最多的汽油,她可能需要偶尔把一头牛放在目的地以外的地方。贝西从栅栏最左边的点,位置0开始,必须在栅栏最右边的点,位置M结束她的旅程。
长度为m的栅栏上,有n头牛需要坐车前往别的地方,起点和终点分别为a_i和b_i。现在出租车从最左端0出发,要运送完所有牛,最后到达最右端m,求最小路程。
输入格式:
第一行:分别输入N和M,表示牛的数量和栅栏的长度,用空格隔开。
第2..1+N行:第(i+1)行包含两个分隔的空格,整数a_i和b_i(0<=a_i,b_i<=M),表示第i个奶牛的起始位置和目标位置。
输出格式:
一个整数,表示贝西必须做的驾驶总量。
输入样例#1:
2 10
0 9
6 5
输出样例#1:
12