No.2250 Split Permutation
レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 89
作問者 :
bayashiko
/ テスター :
ei1333333
kumakuma
タグ : / 解いたユーザー数 89
作問者 :


問題文最終更新日: 2023-03-13 14:19:17
問題文
の順列 が与えられます。 に対して以下の操作を上から順に行い順列 を生成することを考えます。
- に 個以上の仕切りをいれ、いくつかの空でない連続部分列に分割し、左から とする。
- をそれぞれ昇順にソートする。
- を左からこの順に結合したものを とする。
例えば であるとき、 を に分割すると、それぞれ昇順にソートされ となるので となります。
の分割方法は全部で 通りありますが、それら全てに対する の転倒数の総和を で割った余りを求めてください。
入力
- ならば
- 入力は全て整数
出力
答えを出力してください。
サンプル
サンプル1
入力
3 2 3 1
出力
5
と分割した場合、 となり転倒数は です。
と分割した場合、 となり転倒数は です。
と分割した場合、 となり転倒数は です。
と分割した場合、 となり転倒数は です。
よって答えは です。
サンプル2
入力
6 1 2 3 4 5 6
出力
0
どのように分割しても の転倒数は です。
サンプル3
入力
9 2 9 6 5 4 1 7 8 3
出力
3838
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。