高度な部分和クエリ
指定された 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 | No |
Constraints
Time limit: 8 seconds
Memory limit: 512 MB
Output limit: 1 MB