atcoder#ARC146F. [ARC146F] Simple Solitaire
[ARC146F] Simple Solitaire
题目描述
の順列 を用意して、次の操作を行います。
枚のカードがあります。これらのカードには から の番号がついてます。カード には が書かれています。
整数 があります。はじめ PCT 君は何も持っていません。PCT 君は以下の操作を の順で行います。
カード を手に入れる。その後、 が書かれたカードを持っている限り以下の行動を繰り返す。
の書かれているカードを食べ、 を 増やす。
現在持っているカードの枚数が 枚以上の場合、持っているカードを全て捨てて操作を終了する。これ以降も操作は行わない。
ここで、以下のように順列 のスコアを定義します。
- カードが捨てられて操作が終わった場合、 のスコアを とする。
- カードが捨てられずに操作が最後まで行われた場合、 のスコアを 回目の操作終了時に PCT 君が持っているカードの枚数 とする。
としてあり得るものは 通りありますが、そのすべてに対してスコアの総和を で割ったあまりを出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
题目大意
题目描述
有一个长为 的排列 。
在接下来的 天里,为了救她的朋友, 会参加一个仪式,在第 天的行动如下所示:
首先, 会参加这一天的祭祀,然后获得编号为 的诅咒。
然后, 会净化自己身上的诅咒。只要所有编号小于某个诅咒的诅咒都被 获得过,那么这个诅咒就会被净化。(特别地, 号诅咒总是能被净化)
最后,如果此时 身上有不少于 种不同的诅咒,那么这个仪式会立刻结束。
这个仪式的贡献是前 天里每一天结束时 身上未净化的诅咒的数量之积。当然,如果仪式中止,贡献就是 。
理论上在第 天, 会获得并净化所有 种诅咒,她的朋友也能恢复健康,这样一切都能恢复如初!当然,这需要仪式能有足够的贡献。仪式的贡献只和排列 有关,所以 希望你能对于所有 种排列 ,求仪式的贡献和。
数据范围
样例解释
对于第 组样例,。唯一一个可以让仪式有贡献的 是 。此时, 会在第一天获得 号诅咒,在第二天获得并净化 号诅咒,因此有 的贡献。对于其他的排列,如果 ,那么就会导致她在第二天结束时有 种诅咒而中止仪式,否则就会导致在前两天里有一天结束时身上未净化诅咒数量为 而使得乘积为 。
translated by 隔壁泞2的如心
3 2
1
3 3
5
146146 146
103537573
提示
制約
- 入力は全て整数である。
Sample Explanation 1
の場合、以下のように操作が行われます。 - 回目の操作 - PCT 君がカード を手に入れる。 - 現在持っているカードの枚数は 枚なので、操作を続行する。 - 回目の操作 - PCT 君がカード を手に入れる。 - カード を食べ、 を にする。 - 現在持っているカードの枚数は 枚なので、操作を続行する。 - 回目の操作 - PCT 君がカード を手に入れる。 - カード を食べ、 を にする。 - 現在持っているカードの枚数は 枚なので、操作を続行する。 操作が最後まで行われたため、 のスコアは です。 以外にスコアが 以上になる順列は存在しないため、解は です。