给定一个包含 个元素的**整数**序列 ,记作 。 求另一个包含 个元素的待定**整数**序列 ,记 ,使得 且 尽可能的小。 输入 第一行一个整数 ,表示序列元素个数。 第二行 个整数,表示序列 。 输出 一行一个整数,表示 的前提下 的最小值。 样例输入 复制 2 4059 -1782 样例输出 复制 99 提示 对于 的数据, , ,且 序列不全为 来源/分类
以下是对该问题的分析与解答: 问题分析 本题的目标是找到一个整数序列 $Y = [y_1, y_2, \cdots, y_n]$,使得 $\sum_{i = 1}^{n} y_i = 0$,并且 $\sum_{i = 1}^{n} |y_i - x_i|$ 尽可能小。其中,$X = [x_1, x_2, \cdots, x_n]$ 是给定的整数序列。 解题思路 要使 $\sum_{i = 1}^{n} |y_i - x_i|$ 最小,可让 $y_i$ 尽可能靠近 $x_i$。由于 $\sum_{i = 1}^{n} y_i = 0$,我们可以先计算出 $\sum_{i = 1}^{n} x_i = S$,然后将 $S$ 尽可能平均地分配到 $n$ 个元素上,以调整 $y_i$ 的值。 代码实现 ```python # 读取输入 n = int(input()) # 读取序列 X x = list(map(int, input().split())) # 计算序列 X 的和 S = sum(x) # 将 S 平均分配到 n 个元素上,得到每个元素的调整量 adjustment = S // n # 计算余数 remainder = S % n # 初始化序列 Y y = [0] * n # 先将每个元素调整为 x[i] - adjustment for i in range(n): y[i] = x[i] - adjustment # 为了使总和为 0,需要进一步调整余数部分 # 我们将余数平均分配到前面的元素上,使差值最小 for i in range(remainder): y[i] -= 1 # 计算目标函数的值 result = sum(abs(y[i] - x[i]) for i in range(n)) # 输出结果 print(result) ``` 复杂度分析 - 时间复杂度:代码主要进行了两次遍历,第一次遍历计算序列 $X$ 的和,第二次遍历计算目标函数的值,因此时间复杂度为 $O(n)$。 - 空间复杂度:代码只使用了常数级的额外空间,因此空间复杂度为 $O(1)$。 样例测试 对于样例输入: ``` 2 4059 -1782 ``` 首先计算 $\sum_{i = 1}^{2} x_i = 4059 + (-1782) = 2277$,平均分配到两个元素上,$adjustment = 2277 // 2 = 1138$,余数 $remainder = 2277 % 2 = 1$。 调整 $y$ 序列: - $y_1 = 4059 - 1138 - 1 = 2920$ - $y_2 = -1782 - 1138 = -2920$ 计算目标函数的值: $|2920 - 4059| + |-2920 - (-1782)| = 1139 + 1138 = 99$ 输出为 $99$。 [2026-01-24 13:14:40 | AI问答 | 746点数解答]
- [字节豆包] 给定一个包含 个元素的**整数**序列 ,记作 。 求另一个包含 个元素的待定**整数**序列 ,记 ,使得 且 尽可能的小。 输入 第一行一个整数 ,表示序列元素个数。 第二行 个整数,表示序列 。 输出 一行一个整数,表示 的前提下 的最小值。 样例输入 复制 2 4059 -1782 样例输出 复制 99 提示 对于 的数据, , ,且 序列不全为 来源/分类(746点数解答 | 2026-01-24 13:14:40)29
- [字节豆包] 题目描述 在甜甜圈王国中,每颗甜甜圈都有一个甜度值 S 来衡量其甜蜜程度。根据甜度的不同,甜甜圈被评定为不同的等级,具体规则如下: 如果 S 在 0 到 25 之间(包含 0 和 25 ),输出 "普通甜甜圈"; 如果 S 在 26 到 50 之间(包含 26 和 50 ),输出 "美味甜甜圈"; 如果 S 在 51 到 75 之间(包含 51 和 75 ),输出 "极品甜甜圈"; 如果 S 在 76 到 99 之间(包含 76 和 99 ),输出 "绝世甜甜圈"; 如果 S 等于 100 ,输出 "传说甜甜圈"。 请根据给定的甜度值 S,输出对应的甜甜圈等级名称。 输入格式 一行一个整数 S,表示甜甜圈的甜度值。(243点数解答 | 2025-12-06 18:35:50)59
- [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)24
- [DeepSeek] 一个 行 列的螺旋矩阵可由如下方法生成: 从矩阵的左上角(第 行第 列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入 ,便构成了一个螺旋矩阵。 下图是一个 时的螺旋矩阵。 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 现给出矩阵大小 以及 和 ,请你求出该矩阵中第 行第 列的数是多少。 输入 共一行,包含三个整数 , , ,每两个整数之间用一个空格隔开,分别表示矩阵大小、待求的数所在的行号和列号。 输出 一个整数,表示相应矩阵中第 行第 列的数。 样例输入 复制 4 2 3 样例输出 复制 14 提示 【数据说明】 对于 的数据, ; 对于 的数据, 。 来源/分类 递归(740点数解答 | 2026-01-05 12:16:41)30
- [字节豆包] 在数轴上,一共有 n 个景点,坐标分别为x1,x2,x3,....,xn 你初始在x=0位置,每次你可以往左 d 个单位或往右 d 个单位,请问为了访问到每一个景点,d 最大可以取到多少? 输入 输入共两行: 第一行,第一个正整数n 第二行,n个整数 x1,x2,x3,....,xn 输出 输出一行,表示答案 样例输入 复制 2 -4 4 样例输出 复制 4 提示 对于 30%的数据,1≤n≤10 对于 60%的数据,1≤n≤10^3 对于 100%的数据,1≤n≤10^5,−10^9≤x1≤x2≤...≤xn≤10^9 来源/分类(443点数解答 | 2026-01-24 13:15:21)15
- [DeepSeek] 对于十进制来说是错误的,但是对于 进制来说是正确的。 即, , 而 。 你的任务是写一段程序读入三个整数 ,然后确定一个进制 使得 成立. 如果 有很多选择, 输出最小的一个。 例如: . 则有 因为 。 对于进制 ,有 。这种情况下,应该输出 。如果没有合适的进制,则输出 。 提示, 的值也应该大于 上的数字 输入 一行,包含三个整数p、q、r,相邻两个整数之间用单个空格隔开。 p、q、r的所有位都是数字,并且1 <= p、q、r <= 1,000,000。 输出 一个整数:即使得p * q = r成立的最小的B。如果没有合适的B,则输出 0。 样例输入 复制 6 9 42 样例输出 复制 13 来源/分类 进制转换(474点数解答 | 2026-01-20 17:30:22)21
- [字节豆包] 题目描述 现在给出一排共 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)52
- [字节豆包] 给定 n 个闭区间 [l i ,r i ]。你需要在数轴上选择一个整数点的集合 P={p 1 ,p 2 ,…,p k },满足以下两个条件: 对于每一个给定的区间 [l i ,r i ],都至少存在一个你选择的点 p j ∈P,使得 l i ≤p j ≤r i 。 定义一个选择 P 的方案的总成本为 j=1 ∑ k p j 。总成本需要达到最小。 你需要计算出这个最小的总成本。 输入 第一行包含一个整数 n,表示区间的数量。 接下来 n 行,每行包含两个整数 l i 和 r i ,描述一个区间的左右端点。 输出 输出一个整数,表示满足条件的最小总成本。 样例输入 复制 3 1 5 3 7 6 8 样例输出 复制 7 提示 样例解释 选择点 1,6 可以获得最小的总成本,答案为 1+6=7。 数据范围与约定 对于 100% 的数据,满足 1≤n≤10 5 ,1≤l i ≤r i ≤10 9 ;(500点数解答 | 2025-12-13 10:58:42)32
- [字节豆包] 给你两个字符串 S 和 T。你需要找出 S 中有多少个连续子串,能够与字符串 T 相匹配。 匹配规则如下: 进行匹配的 S 的子串,其长度必须与 T 的长度完全相同。 对于字符串 T 中的 ? 字符,它可以匹配 S 子串中对应位置的任意字符。 对于字符串 T 中的字母(a, b, A, B),它可以与 S 子串中对应位置的字母进行对应字母但是大小写不同的匹配。例如,a 可以匹配 A(但是不能匹配 a),B 可以匹配 b。 请你计算出 S 中总共有多少个这样的匹配子串。 输入 输入两行。 第一行输入字符串 S,保证只包含 a,b,A,B 这四种字符。 第二行输入字符串 T,保证只包含 a,b,A,B,? 这五种字符。 输出 输出一个整数,表示 S 中能与 T 匹配的子串数量。 样例输入 复制 AabAaBAAbb a?B 样例输出 复制 3 提示 对于 100% 的数据,1≤∣T∣≤∣S∣≤1000。 来源/分类 蓝桥杯 2025国赛(311点数解答 | 2025-12-13 11:00:54)39
- [字节豆包] 为了把毕业晚会办得更好,老师想要挑出默契程度最大的 个人参与毕业晚会彩排。 可是如何挑呢?老师列出全班同学的号数 并且相信 个人的默契程度便是他们的最大公约数(这不是迷信哦~)。 这可难为了他,请你帮帮忙吧! PS:一个数的最大公约数即本身。 输入 两个空格分开的正整数 和 。 输出 一个整数,为最大的默契值。 样例输入 复制 4 2 样例输出 复制 2 提示 对于 的数据, , 。 对于另 的数据, , 。 对于 的数据, , , (神犇学校,人数众多)。 来源/分类(235点数解答 | 2026-01-24 13:09:08)16
- [字节豆包] 叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻。毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌。一千多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 彩排了一次,老师不太满意。当然啦,取每位同学的号数来找最大公约数显然不太合理。于是老师给每位同学评了一个能力值。于是现在问题变为,从 个学生中挑出 个人使得他们的默契程度(即能力值的最大公约数)最大。但因为节目太多了,而且每个节目需要的人数又不知道。老师想要知道所有情况下能达到的最大默契程度是多少。这下子更麻烦了,还是交给你吧~ PS:一个数的最大公约数即本身。 输入 第一行一个正整数 。 第二行为 个空格隔开的正整数,表示每个学生的能力值。 输出 总共 行,第 行为 情况下的最大默契程度。 样例输入 复制 4 1 2 3 4 样例输出 复制 4 2 1 1 提示 记输入数据中能力值的最大值为 。 - 对于 的数据, , ; - 对于另 的数据, , ; - 对于 的数据, , 。 来源/分类(487点数解答 | 2026-01-24 13:10:18)24
- [阿里通义] 一个 5×6 的迷宫样例如下: 要求给出从起点(1,1)到终点(3,4)的路径。 为了处理方便,保证最外圈全都为障碍物。 扩展到一般情况,一个 m×n 的迷宫,要求输出从起点(1,1)到终点(m-2,n-2)的路径。 测试实例保证路径是唯一的。 该题要求自行设计一个栈来做。如果设计的是顺序栈,则保证栈的大小不超过 200 个元素。 输入 第一行为两个整数 m 和 n,表示 m×n 的迷宫。 接下来有 m 行,每行有 n 个数(n 个数之间用空格间隔,值 = 0 表示可以通行,值 = 1 表示为障碍物) 输出 输出从起点到终点的路径,每个坐标占一行,坐标间的行号和列号用一个空格间隔。具体格式可参考样例。c++ 源代码(732点数解答 | 2024-11-03 02:34:53)497