题目描述
贝西正在为农场里的其他奶牛提供出租车服务。奶牛沿着长度为 M(1<=M<=1,000,000,000)的栅栏聚集在不同的位置。不幸的是,他们已经对目前的位置感到厌烦,每个人都希望沿着栅栏去其他地方。Bessie必须在起始位置接她的每个朋友,然后开车送他们到目的地。Bessie的车很小,所以她一次只能用车运送一头牛。奶牛可以瞬间进出汽车。
为了节省汽油,Bessie想尽量减少她必须开车的次数。给定 N头奶牛中每头奶牛的开始和结束位置 (1<=N<=100,000),确定 Bessie必须做的最少驾驶量。贝西意识到,为 了节省最多的汽油,她可能需要偶尔将一头奶牛放在目的地以外的地方。
Bessie从栅栏最左边的位置 0开始,并且必须在栅栏最右边的位置 M结束她的旅程。
长度为m的栅栏上,有n头牛需要坐车前往别的地方,起点和终点分别为ai和bi。现在一辆出租车从最左端0出发,要运送完所有牛,最后到达最右端m,求最小 路程。出租车只能一次载一只牛。
输入格式
第 1行:N和 M用空格隔开。
第 2..1+N行:第 (i+1)行包含两个空格分隔
整数 si和 ti(0<=si,ti<=M),表示第 i头奶牛的起始位置和目标位置。
输出格式
第 1行:一个整数,表示 Bessie必须完成的驾驶总量。请注意,结果可能不适合 32位整数。
样例
输入样例
输出样例
提示
有两头奶牛等待沿着长度为 10的围栏运输。第一头奶牛想要从位置 0(Bessie开始的位置)到位置 9。第二头奶牛希望从位置 6到位置 5。
Bessie在位置 0捡起第一头奶牛,然后开车到位置 6。在那里她放下第一头奶牛,将第二头奶牛送到她的目的地,然后返回拾起第一头奶牛。她放下第一头奶牛,然后把剩下的路开到栅 栏的右侧。