AT_pakencamp_2025_day3_f Increase Decrease
Description
整数 $ N $ と、長さ $ N $ の整数列 $ A,B $ が与えられます。
$ (1,2,\dots,N) $ を並び替えた数列 $ C $ であって、すべての $ i $ $ (1\leq i\leq N) $ について以下の条件を満たすものが存在するか判定してください。
- $ C $ の先頭 $ i $ 項を取り出した数列のLIS(最長増加部分列)の長さが $ A_i $ である。
- $ C $ の先頭 $ i $ 項を取り出した数列のLDS(最長減少部分列)の長さが $ B_i $ である。
存在するなら、ひとつ構築してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ B_1 $ $ B_2 $ $ \dots $ $ B_N $
Output Format
条件を満たす $ C $ が存在しないなら、 $ -1 $ と出力せよ。
存在するなら、 $ C $ の要素 $ N $ 個を空白区切りで出力せよ。
答えが複数ある場合、どれを出力しても正解と判定される。
Explanation/Hint
### Constraints
- $ 1 \leq N \leq 5 \times 10^5 $
- $ 1 \leq A_i \leq N $ $ (1 \leq i \leq N) $
- $ 1 \leq B_i \leq N $ $ (1 \leq i \leq N) $
- 入力はすべて整数