高度な部分和クエリ
指定された
n
個の数値 からなる集合について、q
件のクエリを処理してください。クエリには次の2種類があります:- Type 1: 数値の部分集合の和が
s
になるものが存在するかどうかを判定する。
- Type 2: 指定された数値
s
を集合から取り除く。
Input
最初の行には、集合に含まれる数値の個数を表す整数
n
(1 ≤ n ≤ 300) が与えられます。2 行目には、集合の要素となる n
個の整数 が空白区切りで与えられます。3 行目には、クエリの数を表す整数
q
が与えられ、続く q
行には、それぞれ空白区切りの 2 つの整数 t
と s
が与えられます:- Type 1 のクエリ: 最初の整数
t
は 1 で、2 つ目の整数s
が目標とする合計値です。
- Type 2 のクエリ: 最初の整数
t
は 2 で、2 つ目の整数s
は取り除く要素です。
Type 2 のクエリは 200 を超えません
Output
Type 1 のクエリに対して、該当する部分集合が存在すれば
Yes
、存在しなければ No
を出力してください。 Examples
Input | Output |
4
1 2 5 7
7
1 4
1 3
1 10
2 1
1 10
1 3
1 9 | No
Yes
Yes
No
No
Yes |
Constraints
Time limit: 8 seconds
Memory limit: 512 MB
Output limit: 1 MB