CF1618E.Singers' Tour
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
n towns are arranged in a circle sequentially. The towns are numbered from 1 to n in clockwise order. In the i-th town, there lives a singer with a repertoire of ai minutes for each i∈[1,n].
Each singer visited all n towns in clockwise order, starting with the town he lives in, and gave exactly one concert in each town. In addition, in each town, the i-th singer got inspired and came up with a song that lasts ai minutes. The song was added to his repertoire so that he could perform it in the rest of the cities.
Hence, for the i-th singer, the concert in the i-th town will last ai minutes, in the (i+1)-th town the concert will last 2⋅ai minutes, ..., in the ((i+k)modn+1)-th town the duration of the concert will be (k+2)⋅ai, ..., in the town ((i+n−2)modn+1) — n⋅ai minutes.
You are given an array of b integer numbers, where bi is the total duration of concerts in the i-th town. Reconstruct any correct sequence of positive integers a or say that it is impossible.
n 座城镇按顺时针顺序围成一个圆圈排列,编号为 1 至 n。在第 i 座城镇(i∈[1,n])中住着一位歌手,其初始曲目总时长为 ai 分钟。
每位歌手均从自己居住的城镇出发,按顺时针顺序访问全部 n 座城镇,并且在每一座城镇恰好举办一场音乐会。此外,每当第 i 位歌手到达某座城镇时,他都会受到启发而创作一首新歌,该歌曲时长恰好为 ai 分钟,并立即将其加入自己的曲目库中,以便在后续访问的城镇中表演。
因此,对第 i 位歌手而言:
- 在第 i 座城镇(即起点)举办的音乐会时长为 ai 分钟;
- 在第 (i+1) 座城镇举办的音乐会时长为 2⋅ai 分钟;
- ……
- 在第 ((i+k)modn+1) 座城镇举办的音乐会时长为 (k+2)⋅ai 分钟;
- ……
- 在第 ((i+n−2)modn+1) 座城镇举办的音乐会时长为 n⋅ai 分钟。
现给出一个由 n 个整数组成的数组 b,其中 bi 表示在第 i 座城镇举办的所有音乐会的总时长。请重构出任意一个满足条件的正整数序列 a;若不存在这样的序列,则判定为不可能。
输入格式
The first line contains one integer t (1≤t≤103) — the number of test cases. Then the test cases follow.
Each test case consists of two lines. The first line contains a single integer n (1≤n≤4⋅104) — the number of cities. The second line contains n integers b1,b2,…,bn (1≤bi≤109) — the total duration of concerts in i-th city.
The sum of n over all test cases does not exceed 2⋅105.
第一行包含一个整数 t(1≤t≤103)—— 测试用例的数量。随后是各测试用例。
每个测试用例由两行组成。第一行包含一个整数 n(1≤n≤4⋅104)—— 城市的数量。第二行包含 n 个整数 b1,b2,…,bn(1≤bi≤109)—— 第 i 个城市的音乐会总时长。
所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case, print the answer as follows:
If there is no suitable sequence a, print NO. Otherwise, on the first line print YES, on the next line print the sequence a1,a2,…,an of n integers, where ai (1≤ai≤109) is the initial duration of repertoire of the i-th singer. If there are multiple answers, print any of them.
对于每个测试用例,按如下格式输出答案:
如果不存在满足条件的序列 a,则输出 NO。否则,在第一行输出 YES,在第二行输出由 n 个整数构成的序列 a1,a2,…,an,其中 ai(1≤ai≤109)表示第 i 位歌手初始曲目的时长。若存在多个答案,输出任意一个即可。
输入输出样例
输入#1
4 3 12 16 14 1 1 3 1 2 3 6 81 75 75 93 93 87
输出#1
YES 3 1 3 YES 1 NO YES 5 5 4 1 4 5
说明/提示
Let's consider the 1-st test case of the example:
- the 1-st singer in the 1-st city will give a concert for 3 minutes, in the 2-nd — for 6 minutes, in the 3-rd — for 9 minutes;
- the 2-nd singer in the 1-st city will give a concert for 3 minutes, in the 2-nd — for 1 minute, in the 3-rd - for 2 minutes;
- the 3-rd singer in the 1-st city will give a concert for 6 minutes, in the 2-nd — for 9 minutes, in the 3-rd — for 3 minutes.
我们考虑示例中的第 1 个测试用例:
- 第 1 位歌手在第 1 座城市将举办一场时长为 3 分钟的演唱会,在第 2 座城市为 6 分钟,在第 3 座城市为 9 分钟;
- 第 2 位歌手在第 1 座城市将举办一场时长为 3 分钟的演唱会,在第 2 座城市为 1 分钟,在第 3 座城市为 2 分钟;
- 第 3 位歌手在第 1 座城市将举办一场时长为 6 分钟的演唱会,在第 2 座城市为 9 分钟,在第 3 座城市为 3 分钟。
输入解题思路,AI测评打分。不知道怎么写?