CF1028E.Restore Array
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
While discussing a proper problem A for a Codeforces Round, Kostya created a cyclic array of positive integers a1,a2,…,an . Since the talk was long and not promising, Kostya created a new cyclic array b1,b2,…,bn so that bi=(aimodai+1) , where we take an+1=a1 . Here mod is the modulo operation. When the talk became interesting, Kostya completely forgot how array a had looked like. Suddenly, he thought that restoring array a from array b would be an interesting problem (unfortunately, not A).
输入格式
The first line contains a single integer n ( 2≤n≤140582 ) — the length of the array a .
The second line contains n integers b1,b2,…,bn ( 0≤bi≤187126 ).
输出格式
If it is possible to restore some array a of length n so that bi=aimoda(imodn)+1 holds for all i=1,2,…,n , print «YES» in the first line and the integers a1,a2,…,an in the second line. All ai should satisfy 1≤ai≤1018 . We can show that if an answer exists, then an answer with such constraint exists as well.
It it impossible to restore any valid a , print «NO» in one line.
You can print each letter in any case (upper or lower).
输入输出样例
输入#1
4 1 3 1 0
输出#1
YES 1 3 5 2
输入#2
2 4 4
输出#2
NO
说明/提示
In the first example:
- 1mod3=1
- 3mod5=3
- 5mod2=1
- 2mod1=0