n 只蚂蚁以每秒 1 厘米的速度在长为 L 厘米 的竹竿上爬行。当蚂蚁爬到竹竿的两端时就会自动掉落。由于竹竿太细,当两只蚂蚁相遇时,它们不能交错而过,只能掉头(掉头时间忽略不计)。对于第 i 只蚂蚁,我们知道它距离竹竿左端的距离为 xi,但不知道它当前的朝向。 请计算所有蚂蚁落下竹竿所需的最短时间和最长时间。 输入 一行包含两个数,分别表示竹竿的长度 L(1<=L<=10^6)和蚂蚁的数量 n(1<=n<=10^6), 第二行表示每个蚂蚁的坐标 xi(0<=xi<=L)。 输出 输出两个数字(用单个空格隔开),分别表示所有蚂蚁从竹竿上掉下来的最早可能的时间和最晚可能的时间。 样例输入 复制 10 3 2 6 7 样例输出 复制 4 8 提示 数据范围与提示 对于 30 % 的数据, 1≤L≤10^3,1<=n<=10 。 对于 100 % 的数据, 1≤L≤10^6,1<=n<=10^6。
最短时间: 每只蚂蚁选择离自己最近的端点方向爬行,计算所有蚂蚁到达端点所需时间的最大值。 最长时间: 每只蚂蚁选择离自己最远的端点方向爬行,计算所有蚂蚁到达端点所需时间的最大值。 ```cpp #include <iostream> #include <algorithm> using namespace std; int main() { int L, n; cin >> L >> n; int minTime = 0, maxTime = 0; for (int i = 0; i < n; i++) { int x; cin >> x; // 最短时间:选择离自己最近的端点 minTime = max(minTime, min(x, L - x)); // 最长时间:选择离自己最远的端点 maxTime = max(maxTime, max(x, L - x)); } cout << minTime << " " << maxTime << endl; return 0; } ``` [2026-01-11 13:31:52 | AI问答 | 204点数解答]
相关提问
- [DeepSeek] - ItemId: 12720 #道具id A级赛车 雷诺 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 127758 #道具id 宠物 冰凤 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 21980 #道具id 效率宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 - ItemId: 21986 #道具id 重生宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 这种文本文件如何用易语言读入并显示到超级列表框内 (571点数解答 | 2025-08-23 20:54:40)193
- [DeepSeek] - ItemId: 12720 #道具id A级赛车 雷诺 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 127758 #道具id 宠物 冰凤 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 21980 #道具id 效率宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 - ItemId: 21986 #道具id 重生宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 这种文本文件如何用易语言读入并显示到超级列表框内,并且可以增加新的一样的文本(1317点数解答 | 2025-08-23 20:58:40)198
- [DeepSeek] n 只蚂蚁以每秒 1 厘米的速度在长为 L 厘米 的竹竿上爬行。当蚂蚁爬到竹竿的两端时就会自动掉落。由于竹竿太细,当两只蚂蚁相遇时,它们不能交错而过,只能掉头(掉头时间忽略不计)。对于第 i 只蚂蚁,我们知道它距离竹竿左端的距离为 xi,但不知道它当前的朝向。 请计算所有蚂蚁落下竹竿所需的最短时间和最长时间。 输入 一行包含两个数,分别表示竹竿的长度 L(1<=L<=10^6)和蚂蚁的数量 n(1<=n<=10^6), 第二行表示每个蚂蚁的坐标 xi(0<=xi<=L)。 输出 输出两个数字(用单个空格隔开),分别表示所有蚂蚁从竹竿上掉下来的最早可能的时间和最晚可能的时间。 样例输入 复制 10 3 2 6 7 样例输出 复制 4 8 提示 数据范围与提示 对于 30 % 的数据, 1≤L≤10^3,1<=n<=10 。 对于 100 % 的数据, 1≤L≤10^6,1<=n<=10^6。(204点数解答 | 2026-01-11 13:31:52)25
- [DeepSeek] 在学习了进制转换后, 𝑇 𝐽 老师提出一个问题: 𝑛 ! 转换成 𝑃 进制后,末尾会有多少零呢? 比如: 10 ! = 1 ∗ 2 ∗ . . . ∗ 10 = ( 3628800 ) 10 = ( 156574400 ) 8 = ( 1101110101111100000000 ) 2 = ( 375 𝐹 00 ) 16 10 ! 表示成十进制、八进制,未尾都有 2 个零; 10 ! 表示成二进制未尾有 8 个零。 请你编程计算 𝑛 ! 表示 𝑃 进制后末尾零的个数? 输入 一行,两个用空格隔开的整数 𝑛 , 𝑝 . 输出 一行,一个整数,表示零的个数。 样例输入 复制 10 2 样例输出 复制 8 提示 对于20%数据, 𝑝 = 10 。 对于100%数据, 2 ≤ 𝑛 ≤ 100000 , 2 ≤ 𝑝 ≤ 100000(549点数解答 | 2026-01-11 17:49:54)25
- [字节豆包] 题目描述 现在给出一排共 n 只鹅的身高,李白想知道最高的鹅比其他所有鹅高多少、最矮的鹅 比其他所有鹅矮多少。 请输出这两行信息。 输入格式 输入共两行。 第一行一个整数 n 表示鹅的数目。 第二行共 n 个整数 ai(i=1,2,3...n),表示第 i 只鹅的身高。 输出格式 输出共两行。 第一行共 n 个空格隔开的整数,第 i 个整数表示序列中第 i 只鹅比最高的那只鹅要 矮多少。 第二行共 n 个空格隔开的整数,第 i 个整数表示序列中第 i 只鹅比最矮的那只鹅要 高多少。 输入输出样例 输入 #1 6 4 7 8 6 3 2 输出 #1 4 1 0 2 5 6 2 5 6 4 1 0 说明/提示 李白一共有 6 只鹅,最高的一只身高为 8,最矮的一只身高为 2,然后分别作为被减 数和减数参与身高差计算可得结果。 对于 30% 数据,保证 0≤ai≤30,1≤n≤20。 对于 100% 数据,保证 0≤ai≤1018,1≤n≤106。 用c++语言(549点数解答 | 2025-11-16 20:19:06)53
- [DeepSeek] 衡三进制是三进制的一种变形,它的基数为 3,每位数码由 −1,0,1 构成。由于 −1 书写不方便,一般用字母 z 代替。 俄罗斯的科技人员曾经将其应用到计算机系统,也被应用于光子计算机相关研究中。例如: 这种特殊进制的优点是: 1.不论正负,任何整数都有且只有一种表示方法; 2.表示负数不用负号-。 给定一个以十进制表示的整数 n,请输出 n 的平衡三进制表示,头部不要出现多余的 0。 输入 一个整数:表示 n。 对于 50% 的数据, ; 对于 100% 的数据, 。 输出 单个字符串:表示 n 的平衡三进制表示。 样例输入 复制 -71 样例输出 复制 z0101(684点数解答 | 2026-01-20 17:32:06)19
- [字节豆包] 三倍子串 内存限制: 256 Mb时间限制: 1000 ms 题目描述 给定一个十进制正整数 n n,请问可以从 n n 中截取多少种不同的子串,使得子串构成的数字是 3 3 的倍数。 例如:当 n = 1234 n=1234 时,有且仅有 3 3, 12 12, 123 123, 234 234 这四个子串是 3 3 的倍数。 输入格式 单个整数:表示输入的数字 n n 输出格式 单个整数:表示 3 3 的倍数的子串数量。 数据范围 对于 20 % 20% 的数据, 1 ≤ n ≤ 1 0 9 1≤n≤10 9 ; 对于 50 % 50% 的数据, 1 ≤ n ≤ 1 0 100 1≤n≤10 100 ; 对于 70 % 70% 的数据, 1 ≤ n ≤ 1 0 1000 1≤n≤10 1000 ; 对于 100 % 100% 的数据, 1 ≤ n ≤ 1 0 100000 1≤n≤10 100000 样例数据 输入: 95764 输出: 6 说明: 子串6,9,57,576,957,9576是3的倍数 输入: 1111 输出: 2 说(486点数解答 | 2025-08-29 11:52:55)224
- [字节豆包] 请你补全代码,把数组a的所有元素都赋值为100。 输入: 无 输出: 共二十行,每行一个整数,为数组中的每个数。 输入样例: 无 输出样例: 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100#include <iostream> using namespace std; int main() { int a[20]; for ( ) { } for (int i = 0; i < 20; i++) { cout << a[i] << endl; } return 0; }(164点数解答 | 2025-11-01 19:14:57)81
- [字节豆包] 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点的值不变; 2.中间各像素点新值为该像素点及其上下左右相邻四个像素点值的平均数(向下取整)。 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。 接下来n行,每行m个整数,表示图像的每个像素点的值。相邻两个整数之间用单个空格隔开,每个元素均在0∼255之间。 输出 n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 样例输入 复制 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 样例输出 复制 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100(555点数解答 | 2025-12-09 12:22:26)67
- [字节豆包] 给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。用C++ 输入格式 一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。 输出格式 一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。 提示 注意,商和余数之间存在一个空格。 可以参考 cout << 计算式1 << " " << 计算式2; input1 复制 10 3 output1 复制 3 1 input2 复制 20 4 output2 复制 5 0 提示 对于 100 % 100% 的数据, 0 ≤ a ≤ 100 0≤a≤100, 1 ≤ b ≤ 100 1≤b≤100。 回答篇幅:越详细越好(820点数解答 | 2026-01-24 22:19:06)34
- [DeepSeek] 优化并整合成一个子程序:.版本 2 .支持库 iext .支持库 spec .子程序 坐标数组去重, 图色返回信息, 公开 .参数 原始坐标数组, 坐标数组, 数组 .参数 距离阈值, 整数型 .局部变量 结果数组, 图色返回信息, , "0" .局部变量 i, 整数型 .局部变量 j, 整数型 .局部变量 是否重复, 逻辑型 .局部变量 距离, 双精度小数型 .如果真 (取数组成员数 (原始坐标数组) ≤ 0) 返回 (结果数组) .如果真结束 加入成员 (结果数组, 原始坐标数组 [1]) .计次循环首 (取数组成员数 (原始坐标数组), i) 是否重复 = 假 .如果真 (i = 1) 到循环尾 () .如果真结束 .计次循环首 (取数组成员数 (结果数组), j) 距离 = 求平方根 (求次方 (原始坐标数组 [i].x - 结果数组 [j].x, 2) + 求次方 (原始坐标数组 [i].y - 结果数组 [j].y, 2)) .如果真 (距离 ≤ 距离阈值) (2181点数解答 | 2025-07-23 10:26:29)186
- [字节豆包] 现有 n n 个正整数,乌拉乎想要快速从这些数中找到第 x x 个数字,请你帮助乌拉乎编写一个程序,实现对应的功能吧。 输入格式 输入包含三行, 第一行,一个正整数 n n。 第二行,依次为 n n个 正整数 a [ i ] a[i]。 第三行,一个正整数 x x。 输出格式 输出这 n n 个数中的第 x x 个数。 input1 复制 3 4 6 2 2 output1 复制 6 input2 复制 5 3 1 1 2 3 5 output2 复制 3 提示 注意 序号和数组下标 的对应关系,如果需要使用 a [ 100 ] a[100] ,那么定义数组时至少需要定义为 int a [ 101 ] a[101]; 数据规模与约定 对于 100 % 100% 的数据, 1 ≤ x ≤ n ≤ 100 1≤x≤n≤100, 1 ≤ a [ i ] ≤ 100 1≤a[i]≤100。c++(380点数解答 | 2025-11-08 19:23:39)127