变换
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
你有一个长度为 的数组 ,一个值域为 的长度为 的数组 和一个整数 。
我们通过以下伪代码对数组 进行变换:
sum = 0
for i = 1 to n
index = min{ID[i], ID[i+1]}
sum = sum + A[index]
Rorate(A, r)
Change(A)
for i = 1 to n
index = max{ID[i], ID[i+1]}
index = index + 1
sum = sum + A[index]
Rorate(A, r)
其中:
- 表示把数组 中所有元素分别改成它们的相反数。
- 表示把数组 复制两遍得到数组 ,取 代替数组 。
即向右旋转 个位置。
你已经知道数组 和整数 ,但你并不知道数组 。
你需要求出变换后伪代码中 可能的最大值。
输入格式
第一行两个整数 。
接下来一行 个整数,表示数组 。
输出格式
第一行一个整数,即伪代码中 可能的最大值。
第二行 个整数,即使得 值最大的 数组。
如果存在多组解,输出任意一种。
输入输出样例 #1
输入 #1
5 3
1 -1 1 -1 1
输出 #1
10
1 1 1 2 2 3
输入输出样例 #2
输入 #2
6 5
2 5 4 1 3 5
输出 #2
16
3 2 1 1 5 4 1
说明/提示
判分方式
如果输出只有第一行正确,可以得到 的分数。
但你必须保证第二行有 个符合要求的数。
数据规模与约定
本题采用 Special Judge。
- 对于 的数据,有 。
- 对于 的数据,有 。
- 对于 的数据,有 ,,。
你需要保证你构造的 。
云斗学院 2026 NOI计划系列公开赛 #3
- 状态
- 已结束
- 规则
- IOI(严格)
- 题目
- 3
- 开始于
- 2026-5-29 0:00
- 结束于
- 2026-5-31 20:00
- 持续时间
- 5 小时
- 主持人
- 参赛人数
- 37
京公网安备 11011102002149号