競プロキャンプ2026関東
コンテスト日時
2026/06/07 (Su) 09:15 - 11:15

I - Unfair Trade

Earlgray
2
s
1024
MB
100

問題文

ランクの付いた魔法の石がいくつかあります。ランクは $1$ 以上の整数で、上限はありません。

今、 $i=1,2,\ldots ,N$ について、ランク $i$ の石が $A _ i$ 個あり、それ以外に魔法の石はありません。ここから、以下の $2$ 種類の操作を好きな順番で、好きなだけ行えます。

  • ランク $d$ の石が $2$ 個以上あるような $1$ 以上の整数 $d$ を選ぶ。ランク $d$ の石を $2$ 個失う代わりにランク $d+1$ の石を $1$ 個得る。
  • ランク $d$ の石が $1$ 個以上あるような $2$ 以上の整数 $d$ を選ぶ。ランク $d$ の石を $1$ 個失う代わりにランク $d-1$ の石を $3$ 個得る。

目的の状態は、 $i=1,2,\ldots ,N$ についてランク $i$ の石がちょうど $B _ i$ 個あり、ランクが $N$ を超える石が $1$ つも無い状態です。操作によってこの状態を得ることができるかどうかを判定してください。

$1$ 回の実行で $T$ 個 ($1\leq T$) のテストケースについて解いてください。

制約

  • $1 \leq T \leq 100{,}000$
  • $1 \leq N \leq 200{,}000$
  • $0 \leq A _ i \leq 10^{9}$
  • $0 \leq B _ i \leq 10^{9}$
  • 各入力ファイルについて、全テストケースにわたる $N$ の総和は $200{,}000$ を超えない。
  • 入力はすべて整数

入力

$1$ 行目にテストケースの個数 $T$ が入力されます。

$2$ 行目以降、 $T$ 個のテストケースが順に入力されます。各テストケースは以下の形式で与えられます。

$N$
$A _ 1$ $A _ 2$ $\ldots$ $A _ N$
$B _ 1$ $B _ 2$ $\ldots$ $B _ N$

出力

各テストケースについて、 YesNo を出力してください。

出力は改行で区切ってください。

入力例 1
4 5 0 0 0 0 1 10000 0 0 0 0 5 0 0 0 0 1 1 0 0 0 0 5 0 0 0 0 0 1 1 1 1 1 10 0 8 0 0 1 0 0 0 1 0 0 0 4 3 0 0 9 0 0 0
出力例 1
Yes No No Yes

テストケース $1$: ランク $5$ の石 $1$ 個をランクの小さい石と交換し続けることにより、最終的にランク $1$ の石 $81$ 個を得ます。その後、ランク $1$ の石を $2$ 個選んでランク $2$ の石と交換し、それをランク $1$ の石 $3$ 個と交換するという一連の操作を $9919$ 回繰り返せば、ランク $1$ の石は $10000$ 個になります。ランク $1$ 以外の石は残っていないので、これで目標達成です。

テストケース $3$:初期状態で石が $1$ つもありません。初期状態でできる操作が存在しません。

提出
C++23 (g++ 12.2.0)