高度な部分和クエリ
指定された 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