B - Bracket Character Frequency
Editorial
/
/
Time Limit: 2 sec / Memory Limit: 1024 MiB
配点 : 100 点
問題文
(, ) のみからなる文字列 S について以下のいずれかの条件を満たすとき、かつそのときに限り S を正しい括弧列といいます。
- S は空文字列である。
- ある正しい括弧列 A が存在して、S は
(, A,)をこの順につなげた文字列である。 - ある空でない正しい括弧列 A, B が存在して、S は A, B をこの順につなげた文字列である。
整数 N,K と長さ 2K の整数列 A=(A_1,A_2,\dots,A_{2K}) が与えられます。
以下の条件を満たす N 個の正しい括弧列の組が存在するか判定してください。
- N 個の正しい括弧列の長さはいずれも 2K である。
- 各 i=1, 2, \dots, 2K について、 N 個の正しい括弧列のうち、 i 文字目が
(であるものはちょうど A_i 個である。
T 個のテストケースが与えられるので、それぞれについて答えてください。
制約
- 入力は全て整数
- 1 \leq T \leq 10^{5}
- 1 \leq N \leq 10^{12}
- 1 \leq K \leq 2\times 10^{5}
- 0 \leq A_i \leq N
- 1 つの入力に含まれるテストケースについて、K の総和は 5 \times 10^{5} 以下
入力
入力は以下の形式で標準入力から与えられる。
T
\mathrm{case_1}
\mathrm{case_2}
\vdots
\mathrm{case_T}
各ケースは以下の形式で与えられる。
N K
A_1 A_2 \ldots A_{2K}
出力
T 行出力せよ。i 行目には i 番目のテストケースについて、条件を満たす正しい括弧列の組が存在する場合は Yes を、 存在しない場合は No を出力せよ。
入力例 1
2 3 3 3 2 2 0 2 0 3 3 3 0 2 3 1 0
出力例 1
Yes No
1 番目のテストケースについて、 ()()(), ((())), (())() の 3 つ組が条件を満たします。
2 番目のテストケースについて、条件を満たす正しい括弧列の組は存在しません。