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,,ana_1, a_2, \ldots, a_n . Since the talk was long and not promising, Kostya created a new cyclic array b1,b2,,bnb_1, b_2, \ldots, b_{n} so that bi=(aimodai+1)b_i = (a_i \mod a_{i + 1}) , where we take an+1=a1a_{n+1} = a_1 . Here modmod is the modulo operation. When the talk became interesting, Kostya completely forgot how array aa had looked like. Suddenly, he thought that restoring array aa from array bb would be an interesting problem (unfortunately, not A).

输入格式

The first line contains a single integer nn ( 2n1405822 \le n \le 140582 ) — the length of the array aa .

The second line contains nn integers b1,b2,,bnb_1, b_2, \ldots, b_{n} ( 0bi1871260 \le b_i \le 187126 ).

输出格式

If it is possible to restore some array aa of length nn so that bi=aimoda(imodn)+1b_i = a_i \mod a_{(i \mod n) + 1} holds for all i=1,2,,ni = 1, 2, \ldots, n , print «YES» in the first line and the integers a1,a2,,ana_1, a_2, \ldots, a_n in the second line. All aia_i should satisfy 1ai10181 \le a_i \le 10^{18} . We can show that if an answer exists, then an answer with such constraint exists as well.

It it impossible to restore any valid aa , 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=11 \mod 3 = 1
  • 3mod5=33 \mod 5 = 3
  • 5mod2=15 \mod 2 = 1
  • 2mod1=02 \mod 1 = 0
首页