CF915B Browser

题目描述

Luba正在网上冲浪。她在浏览器里打开了n个标签,从左到右编号为1到n。目前鼠标光标的位置在第pos个标签。Luba需要使用编号从l到r(包含l与r)的标签,并且她想尽可能快地关闭其它的标签。 Luba每秒可以把光标往左移或者往右移(如果光标当前在标签ii,则她可以将光标移到标签max(i-1,a)或者min(i+1,b),或者关闭它左边或右边所有的标签(如果光标当前在标签i,她可以关闭[a,i−1]这段标签或者[i+1,b]这段标签)。在上述表达式中,a与b分别表示未关闭标签最小与最大的编号。如果最初有7个标签,1、2、7号标签都被关闭了,那么a=3,b=6 为了只留下初始编号从ll到rr的标签,Luba至少花费多少秒钟?

输入格式

输入只有一行,包括四个整数n,pos,l,r(1

输出格式

输出一个整数,表示关闭除了范围[l,r]以外的所有标签所需的最短秒数。

说明/提示

第一个样例中Luba需要做下面的操作:移动光标至标签2,关闭它左边的所有标签,移动光标到标签3,再到标签4,然后关闭它右边的所有标签。 第二个样例中她只需要关闭光标右边的所有标签。 第三个样例中Luba不需要做任何事。