No.2485 Add to Variables (Another)
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 35
作問者 :
ytqm3
/ テスター :
Magentor
タグ : / 解いたユーザー数 35
作問者 :

問題文最終更新日: 2023-09-22 21:45:16
F 問題と G 問題は設定が共通しており、制約のみが異なります。
問題文
ここに、長さ の数列 があります。最初、 のすべての値は です。
この数列に対し、以下の 種類の操作を行うことを考えます。
- 何もしない。
- 整数 を選び、 を満たす全ての整数 について、 に を足す。
- 整数 を選び、 を満たす全ての整数 について、 に を足す。
- を満たすすべての整数 について、 に を足す。
操作をちょうど 回行う方法のうち、 となるものの個数を で割った余りを求めてください。
ただし、ある整数 が存在して 回目に が足された数の index の集合が異なる時、またその時に限り操作列が異なるとみなします。
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
サンプル
サンプル1
入力
4 2 1 1 1 0
出力
2
回目の操作で に を足し、 回目の操作でどの変数にも を足さない方法と、 回目の操作でどの変数にも を足さず 回目の操作で に を足す方法の 通りが考えられます。
サンプル2
入力
4 2 1 1 1 1
出力
8回目の操作で が足されなかった変数に を足すときに限り を達成することが出来るので、答えは 通りです。
サンプル3
入力
4 3 0 3 2 2
出力
0
サンプル4
入力
4 314 202 3 9 22
出力
362672301
サンプル5
入力
1 1 1
出力
1
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。