AT_arc204_c [ARC204C] Maximize Sum of Mex
Description
正整数 $ N $ と $ (1, 2, \dots , N) $ の順列 $ P = (P_{1}, P_{2}, \dots, P_{N}) $ が与えられます。
$ Q $ 個のクエリを処理してください。各クエリでは非負整数 $ A_{0}, A_{1}, A_{2} $ が与えられるので以下の問題の答えを出力してください。なお、 $ A_{0} + A_{1} + A_{2} = N $ であることが保証されます。
> 長さ $ N $ の数列 $ B $ であって、以下の条件をすべて満たす数列を **good な数列**とします。
>
> - $ B_{i} = 0 $ が成り立つ $ 1 $ 以上 $ N $ 以下の整数 $ i $ はちょうど $ A_{0} $ 個
> - $ B_{i} = 1 $ が成り立つ $ 1 $ 以上 $ N $ 以下の整数 $ i $ はちょうど $ A_{1} $ 個
> - $ B_{i} = 2 $ が成り立つ $ 1 $ 以上 $ N $ 以下の整数 $ i $ はちょうど $ A_{2} $ 個
>
> 長さ $ N $ の数列 $ B $ に対して、**スコア**を以下のように定義します。
>
> - $ \displaystyle\sum_{i = 1}^{N}\mathrm{MEX}(B_{i}, B_{P_{i}}) $
>
> ただし、 $ \mathrm{MEX}(x, y) $ は $ x $ でも $ y $ でもない最小の非負整数であると定義します。
>
> **good な数列**全てに対する**スコア**の最大値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ P_{1} $ $ P_{2} $ $ \dots $ $ P_{N} $ $ Q $ $ query_{1} $ $ query_{2} $ $ \cdots $ $ query_{Q} $
ここで $ query_{i} $ は $ i $ 番目のクエリであり、以下の形式で与えられます。
> $ A_{0} $ $ A_{1} $ $ A_{2} $
Output Format
$ Q $ 行出力してください。 $ i $ 行目には $ i $ 番目のクエリの答えを出力してください。
Explanation/Hint
### Sample Explanation 1
$ 1 $ 番目のクエリについて、 $ B = (0, 1, 2) $ は good な数列です。この数列のスコアは $ \mathrm{MEX}(0, 1) + \mathrm{MEX}(1, 2) + \mathrm{MEX}(2, 0) = 2 + 0 + 1 = 3 $ より $ 3 $ です。 $ 3 $ よりスコアが大きい good な数列は存在しないので、 $ 1 $ 行目には $ 3 $ を出力します。
### Constraints
- $ 1\leq N\leq 3\times 10^{5} $
- $ (P_{1}, P_{2}, \dots , P_{N}) $ は $ (1, 2, \dots , N) $ の順列
- $ 1\leq Q\leq 3\times 10^{5} $
- $ 0\leq A_{i} $
- それぞれのクエリに対して $ A_{0} + A_{1} + A_{2} = N $
- 入力は全て整数