D - Colorful Balls
Editorial
/


Time Limit: 2 sec / Memory Limit: 256 MB
配点 : 点
問題文
すぬけくんは 個の色が塗られたボールを一列に並べました。 左から 番目のボールは色 で塗られていて、その重さは です。
すぬけくんは以下の 種類の操作を任意の順序で何回でも繰り返してボールの配置を変更することができます。
- 操作 :色が同じであるような つのボールを選ぶ。 つのボールの重さの和が 以下なら、 つのボールの位置を入れ替える。
- 操作 :色が異なるような つのボールを選ぶ。 つのボールの重さの和が 以下なら、 つのボールの位置を入れ替える。
最終的なボールの色の並びとしてありうるような数列の数を modulo で求めてください。
制約
- はいずれも整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
入力例 1Copy
Copy
4 7 3 3 2 4 3 2 1 4 4
出力例 1Copy
Copy
2
- 操作 により左から 番目のボールの位置と左から 番目のボールの位置を入れ替えることで、 という色の並びを作ることが可能です。
- 操作 により左から 番目のボールの位置と左から 番目のボールの位置を入れ替えることも可能ですが、色の並びは変化しません。
入力例 2Copy
Copy
1 1 1 1 1
出力例 2Copy
Copy
1
入力例 3Copy
Copy
21 77 68 16 73 16 99 19 66 2 87 2 16 7 17 10 36 10 68 2 38 10 74 13 55 21 21 3 7 12 41 13 88 18 6 2 12 13 87 1 9 2 27 13 15
出力例 3Copy
Copy
129729600
Score : points
Problem Statement
Snuke arranged colorful balls in a row. The -th ball from the left has color and weight .
He can rearrange the balls by performing the following two operations any number of times, in any order:
- Operation : Select two balls with the same color. If the total weight of these balls is at most , swap the positions of these balls.
- Operation : Select two balls with different colors. If the total weight of these balls is at most , swap the positions of these balls.
How many different sequences of colors of balls can be obtained? Find the count modulo .
Constraints
- are all integers.
Input
Input is given from Standard Input in the following format:
Output
Print the answer.
Sample Input 1Copy
Copy
4 7 3 3 2 4 3 2 1 4 4
Sample Output 1Copy
Copy
2
- The sequence of colors can be obtained by swapping the positions of the first and third balls by operation .
- It is also possible to swap the positions of the second and fourth balls by operation , but it does not affect the sequence of colors.
Sample Input 2Copy
Copy
1 1 1 1 1
Sample Output 2Copy
Copy
1
Sample Input 3Copy
Copy
21 77 68 16 73 16 99 19 66 2 87 2 16 7 17 10 36 10 68 2 38 10 74 13 55 21 21 3 7 12 41 13 88 18 6 2 12 13 87 1 9 2 27 13 15
Sample Output 3Copy
Copy
129729600