首页 > 试题广场 >

讨厌鬼的数组构造

[编程题]讨厌鬼的数组构造
  • 热度指数:134 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的序列 a,请你构造一个序列 b,序列b满足以下条件:

1.序列b的长度为n
2.对于任意i \in [1,n],满足(a_i + b_i) \ mod \ i = 0
3.对于任意i \in [1,n],满足1 \leq b_i \leq 10^{9}
4.对于任意1 \leq i \lt j \leq n,满足b_i \neq b_j

输入描述:
第一行输入一个整数n(1\leq n \leq 10^5)
第二行输入n个整数,第i个为a_i(1\leq a_i \leq 10^6)


输出描述:
输出n个整数,表示答案。
若有多个不同的答案,输出任意一个即可。
示例1

输入

5
3 4 7 8 10

输出

1 6 2 4 5
头像 丨阿伟丨
发表于 2025-09-16 15:50:19
题目描述 给定一个长度为 的序列 ,请你构造一个序列 ,序列 满足以下条件: 序列 的长度为 。 对于任意 ,满足 。 对于任意 ,满足 。 对于任意 ,满足 (即 中所有元素需互不相同)。 若有多个不同的答案, 输出任意一个即可。 解题思路 这是一个构造性问题。我们需要为序列 中的每 展开全文