A2779 | 出租车
来源USACO / 2013
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
贝茜正在为农场里的其他奶牛提供出租车服务。奶牛沿着长度为 M 的栅栏聚集在不同位置 (1 <= M <= 1,000,000,000)。不幸的是,他们已经厌倦了目前的位置,每个人都希望沿着栅栏去其他地方。贝茜必须在他们的起点接她的每个朋友,并开车送他们到目的地。贝茜的车很小,所以她一次只能用车运送一头牛。奶牛可以瞬间进出汽车。
为了节省汽油,贝茜希望尽量减少她必须开车的量。给定每头奶牛的起始和结束位置(1 <= N <= 100,000),确定 Bessie 必须做的最少驾驶量。贝茜意识到,为了节省最多的汽油,她可能需要偶尔将一头奶牛放在目的地以外的地方。
贝茜从围栏的最左边位置 0 开始,必须在围栏上最右边的位置 M 结束她的旅程。
为了节省汽油,贝茜希望尽量减少她必须开车的量。给定每头奶牛的起始和结束位置(1 <= N <= 100,000),确定 Bessie 必须做的最少驾驶量。贝茜意识到,为了节省最多的汽油,她可能需要偶尔将一头奶牛放在目的地以外的地方。
贝茜从围栏的最左边位置 0 开始,必须在围栏上最右边的位置 M 结束她的旅程。
输入格式
* 第 1 行:N 和 M 之间用空格分隔。
* 第 2..1+N 行:(i+1)第 (i+1) 行包含两个空格
整数、s_i 和 t_i (0 <= s_i, t_i <= M),表示第 i 头奶牛的起始位置和目的地位置。
* 第 2..1+N 行:(i+1)第 (i+1) 行包含两个空格
整数、s_i 和 t_i (0 <= s_i, t_i <= M),表示第 i 头奶牛的起始位置和目的地位置。
输出格式
* 第 1 行:单个整数,表示 Bessie 必须执行的驱动总量。请注意,结果可能不适合 32 位整数。
输入输出样例
输入 #1
2 10 0 9 6 5
输出 #1
12
有两头奶牛等待沿着长度为 10 的栅栏运输。第一头奶牛想从位置 0(Bessie 开始的地方)到位置 9。第二头奶牛希望从位置 6 到位置 5。
贝茜在位置 0 拿起第一头奶牛,然后开车到位置 6。在那里,她放下第一头奶牛,将第二头奶牛送到目的地,然后返回去接第一头奶牛。她放下第一头牛,然后把剩下的路开到栅栏的右侧。
贝茜在位置 0 拿起第一头奶牛,然后开车到位置 6。在那里,她放下第一头奶牛,将第二头奶牛送到目的地,然后返回去接第一头奶牛。她放下第一头牛,然后把剩下的路开到栅栏的右侧。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?