799. 牢笼

提交0 通过0
通过率0%
时间限制1000ms
内存限制256MiB
    ID: 799 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 提高+/省选- 上传者: 标签>简单动态规划复杂动态规划编程题c++

题目描述

题目描述

婷婷要越狱,监狱可以看作一条数轴。

初始时婷婷站在位置 00,监狱有 nn 扇大门,第 ii 扇大门在位置 xix_i,除非有对应的钥匙,否则婷婷不能走到位置xix_i,由于监狱长的疏忽大意,第 ii 扇大门的钥匙被放在了位置 cic_i。

保证 00 位置没有大门。

婷婷开门和拿钥匙的动作可以看作瞬间发生,且婷婷可以一次性拿很多把钥匙。

婷婷在位置 XX 放了一架直升机,婷婷要走到位置 XX,请问他至少要走多少距离。

输入格式

第一行给定 n,Xn,X。

第二行给定 xix_i。

第三行给定 cic_i。

输出格式

输出一行,表示答案,逃不出去输出 −1-1。

3 10
-2 8 -5
5 -10 3
40
1 10
5 
2
10
1 10
5 
8
-1

说明与提示

样例解释

先走到位置 55,在这个过程中拿到钥匙 1,31,3。

再走到位置 −10-10,拿到钥匙 22。

最后再走到位置 1010。

数据范围

对于 30%30\% 的数据,1≤n≤101 \leq n \leq 10。

对于 100%100\% 的数据,1≤n≤3000,1≤∣xi∣,∣ci∣≤1091 \leq n \leq 3000,1 \leq |x_i|,|c_i| \leq 10^9。