A16793 | Elevator Against Humanity
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
如今,所有的设备都是智能的:智能手机、智能音箱、智能灯泡,甚至还有智能电梯。机器正在崛起。
人类反抗军的总部正坐落于一座摩天大楼中。然而,智能电梯正试图在不暴露自己的情况下拖慢人们的行动速度。
大楼中有 $n$ 个人分别在不同楼层等候电梯,每个人想去另一个楼层。每个人的目的楼层与其他人的目的楼层以及所有起始楼层都不同。开始时,电梯位于一楼。每单位时间电梯能够移动一层楼。每当电梯开门时,它可以选择下一个要去的楼层并直接前往。电梯可以前往尚未上电梯乘客的起始楼层接他们,或者前往已经在电梯里的乘客的目的楼层送他们下电梯。请注意,电梯不会在中途楼层停靠,即使里面有乘客也是如此。乘客的上电梯和下电梯用时可以忽略。电梯空间足够大,能一次容纳所有人。
电梯的目标是最大化运送所有乘客到达他们的目标楼层所需的总时间。请计算从一楼出发至最后一名乘客下电梯所需的最大总时间。电梯无需返回一楼。
人类反抗军的总部正坐落于一座摩天大楼中。然而,智能电梯正试图在不暴露自己的情况下拖慢人们的行动速度。
大楼中有 $n$ 个人分别在不同楼层等候电梯,每个人想去另一个楼层。每个人的目的楼层与其他人的目的楼层以及所有起始楼层都不同。开始时,电梯位于一楼。每单位时间电梯能够移动一层楼。每当电梯开门时,它可以选择下一个要去的楼层并直接前往。电梯可以前往尚未上电梯乘客的起始楼层接他们,或者前往已经在电梯里的乘客的目的楼层送他们下电梯。请注意,电梯不会在中途楼层停靠,即使里面有乘客也是如此。乘客的上电梯和下电梯用时可以忽略。电梯空间足够大,能一次容纳所有人。
电梯的目标是最大化运送所有乘客到达他们的目标楼层所需的总时间。请计算从一楼出发至最后一名乘客下电梯所需的最大总时间。电梯无需返回一楼。
输入格式
每组测试数据包含多个测试用例。第一行包含测试用例个数 $t$($1 \le t \le 10\,000$)。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$,表示等待电梯的人数($1 \le n \le 10^5$)。
接下来的 $n$ 行中,每行包含两个整数 $s_i$ 和 $f_i$($2 \le s_i, f_i \le 10^9$),分别表示第 $i$ 个人的起始楼层和目标楼层。输入中的所有 $2n$ 个楼层均两两不同。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
每个测试用例的第一行包含一个整数 $n$,表示等待电梯的人数($1 \le n \le 10^5$)。
接下来的 $n$ 行中,每行包含两个整数 $s_i$ 和 $f_i$($2 \le s_i, f_i \le 10^9$),分别表示第 $i$ 个人的起始楼层和目标楼层。输入中的所有 $2n$ 个楼层均两两不同。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出运送所有人的最大所需时间。
输入输出样例
输入 #1
3 1 5 3 2 2 7 8 4 2 10 8 6 3
输出 #1
6 21 21
在第一个测试用例中,只有一名乘客。访问楼层的顺序为 $1 \to 5 \to 3$,所需时间为 $6$。
在第二个测试用例中,其中一个合法的访问楼层顺序是 $1 \to 8 \to 2 \to 7 \to 4$,总用时为 $21$。
在第三个测试用例中,其中一个合法的访问楼层顺序是 $1 \to 10 \to 6 \to 3 \to 8$,总用时为 $21$。
由 ChatGPT 5 翻译
在第二个测试用例中,其中一个合法的访问楼层顺序是 $1 \to 8 \to 2 \to 7 \to 4$,总用时为 $21$。
在第三个测试用例中,其中一个合法的访问楼层顺序是 $1 \to 10 \to 6 \to 3 \to 8$,总用时为 $21$。
由 ChatGPT 5 翻译
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?