问题 A: 抓牛
题目描述
牛倌被通知,他的一只牛逃逸了!所以他决定,马上出发,尽快把那只牛抓回来.
他们都站在数轴上.牛倌在N(0≤N≤100000)处,牛在K(0≤K≤100000)处.约翰有两种办法移动,步行和瞬移:步行每秒种可以让约翰从x处走到x+l或x-l处;而瞬移则可让他在1秒内从x处消失,在2x处出现.然而那只逃逸的牛,悲剧地没有发现自己的处境多么糟糕,正站在那儿一动不动.
那么,牛倌需要多少时间抓住那只牛呢?
输入
仅有两个整数N和K
输出
最短时间
样例输入
5 17
样例输出
4
问题 B: 修路
题目描述
城市管理部门打算好好修一下农场中某条凹凸不平的土路。按市民们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中。 整条路被分成了N段,N个整数A_1, … , A_N (1 <= N <= 2,000)依次描述了每一段路的高度(0 <= A_i <= 1,000,000,000)。城市管理部门希望找到一个恰好含N个元素的不上升或不下降序列B_1, … , B_N,作为修过的路中每个路段的高度。由于将每一段路垫高或挖低一个单位的花费相同,修路的总支出可以表示为: |A_1 - B_1| + |A_2 - B_2| + … + |A_N - B_N| 请你计算一下,FJ在这项工程上的最小支出是多少。城市管理部门向你保证,这个支出不会超过2^31-1。
输入
第1行: 输入1个整数:N * 第2..N+1行: 第i+1行为1个整数:A_i
输出
第1行: 输出1个正整数