CF1054C.Candies Distribution

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn children numbered from 11 to nn in a kindergarten. Kindergarten teacher gave aia_i ( 1ain1 \leq a_i \leq n ) candies to the ii -th child. Children were seated in a row in order from 11 to nn from left to right and started eating candies.

While the ii -th child was eating candies, he calculated two numbers lil_i and rir_i — the number of children seating to the left of him that got more candies than he and the number of children seating to the right of him that got more candies than he, respectively.

Formally, lil_i is the number of indices jj ( 1j<i1 \leq j < i ), such that ai<aja_i < a_j and rir_i is the number of indices jj ( i<jni < j \leq n ), such that ai<aja_i < a_j .

Each child told to the kindergarten teacher the numbers lil_i and rir_i that he calculated. Unfortunately, she forgot how many candies she has given to each child. So, she asks you for help: given the arrays ll and rr determine whether she could have given the candies to the children such that all children correctly calculated their values lil_i and rir_i , or some of them have definitely made a mistake. If it was possible, find any way how she could have done it.

输入格式

On the first line there is a single integer nn ( 1n10001 \leq n \leq 1000 ) — the number of children in the kindergarten.

On the next line there are nn integers l1,l2,,lnl_1, l_2, \ldots, l_n ( 0lin0 \leq l_i \leq n ), separated by spaces.

On the next line, there are nn integer numbers r1,r2,,rnr_1, r_2, \ldots, r_n ( 0rin0 \leq r_i \leq n ), separated by spaces.

输出格式

If there is no way to distribute the candies to the children so that all of them calculated their numbers correctly, print «NO» (without quotes).

Otherwise, print «YES» (without quotes) on the first line. On the next line, print nn integers a1,a2,,ana_1, a_2, \ldots, a_n , separated by spaces — the numbers of candies the children 1,2,,n1, 2, \ldots, n received, respectively. Note that some of these numbers can be equal, but all numbers should satisfy the condition 1ain1 \leq a_i \leq n . The number of children seating to the left of the ii -th child that got more candies than he should be equal to lil_i and the number of children seating to the right of the ii -th child that got more candies than he should be equal to rir_i . If there is more than one solution, find any of them.

输入输出样例

  • 输入#1

    5
    0 0 1 1 2
    2 0 1 0 0
    

    输出#1

    YES
    1 3 1 2 1
    
  • 输入#2

    4
    0 0 2 0
    1 1 1 1
    

    输出#2

    NO
    
  • 输入#3

    3
    0 0 0
    0 0 0
    

    输出#3

    YES
    1 1 1
    

说明/提示

In the first example, if the teacher distributed 11 , 33 , 11 , 22 , 11 candies to 11 -st, 22 -nd, 33 -rd, 44 -th, 55 -th child, respectively, then all the values calculated by the children are correct. For example, the 55 -th child was given 11 candy, to the left of him 22 children were given 11 candy, 11 child was given 22 candies and 11 child — 33 candies, so there are 22 children to the left of him that were given more candies than him.

In the second example it is impossible to distribute the candies, because the 44 -th child made a mistake in calculating the value of r4r_4 , because there are no children to the right of him, so r4r_4 should be equal to 00 .

In the last example all children may have got the same number of candies, that's why all the numbers are 00 . Note that each child should receive at least one candy.

首页