#3882. 围栏障碍训练场

围栏障碍训练场

题目描述

农夫约翰为他的奶牛们建造了一个围栏障碍训练场,以供奶牛们玩耍。

训练场由 NN 个不同长度的围栏组成,每个围栏都与 xx 轴平行,并且第i i 个围栏的 yy 坐标为i i

训练场的出口位于原点,起点位于 (S,NS,N)

   +-S-+-+-+        (fence #N)

 +-+-+-+            (fence #N-1)

     ...               ...

   +-+-+-+          (fence #2)

     +-+-+-+        (fence #1)

=|=|=|=*=|=|=|      (barn)

-3-2-1 0 1 2 3 

这些牛会从起点处开始向下走,当它们碰到围栏时会选择沿着围栏向左或向右走,走到围栏端点时继续往下走,按照此种走法一直走到出口为止。

请问,这些牛从开始到结束,行走的水平距离最少为多少。

输入格式

第一行包含两个整数 NNSS

第 2..NN+1 行,每行包含两个整数 Ai,BiA_i,B_i,表示一个围栏的起始横坐标和结束横坐标,其中第 ii+1 行表示第 ii 个围栏的数据。

起点坐标满足 ANSBNA_N≤S≤B_N

输出格式

输出一个整数,表示最小水平行走距离。

样例

4 0 
-2 1
-1 2
-3 0
-2 1
4

数据范围

1N30000,105S105,105Ai,Bi1051≤N≤30000, −10^5≤S≤10^5, −105≤A_i,B_i≤10^5

来源

  • USACO 2004 Dec.
  • POJ2374
  • 算法竞赛进阶指南