atcoder#AGC054B. [AGC054B] Greedy Division
[AGC054B] Greedy Division
题目描述
みかんが 個あり, から までの番号がついています. みかん の重さは です. 高橋くんと青木くんがこれらを以下のようにして分けます.
-
の順列 を選ぶ.
-
について,この順に以下のことを行う
- 高橋くんがすでにとったみかんの重さの合計が,青木くんがすでにとったみかんの重さの合計以下なら,みかん を高橋くんがとる. そうでないならみかん を青木くんが取る.
最終的に二人が取るみかんの重さの合計が等しくなるような順列 が何通りあるかを で割った余りを求めてください.
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
答えを出力せよ.
题目大意
有 个数,每个数有一个权值 。现在对于一个排列 ,有两个人 和 会做如下操作:
- 对于 从小到大的每个 ,如果 手上数的权值和不大于 的,那么 拿走第 个数,否则 拿走。
问有多少个排列使得 和 最终手上的数的权值和一样。答案对 取模。
3
1 1 2
4
4
1 2 3 8
0
20
2 8 4 7 5 3 1 2 4 1 2 5 4 3 3 8 1 7 8 2
373835282
提示
制約
- 入力される値はすべて整数
Sample Explanation 1
条件を満たす は, の 通りです. 例えば, の時は,以下のように進行します. - : 高橋くんがすでにとったみかんの重さの合計は で,青木くんがすでにとったみかんの重さの合計は である. 高橋くんがみかん をとる. - : 高橋くんがすでにとったみかんの重さの合計は で,青木くんがすでにとったみかんの重さの合計は である. 青木くんがみかん をとる. - : 高橋くんがすでにとったみかんの重さの合計は で,青木くんがすでにとったみかんの重さの合計は である. 青木くんがみかん をとる. よって は条件を満たす順列です.