問題一覧 > 通常問題

No.1102 Remnants

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 256 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 197
作問者 : eSeF / テスター : 37zigen
30 ProblemId : 4283 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2020-07-03 23:42:36

問題文

あなたは、正整数からなる長さ N の数列 A=(A1,,AN) を持っています。 これに対して、以下の操作を K 回行います。

・操作時点での数列を B=(B1,,BM) とする。
 1lrM を満たす整数 l, r を自由に選び、持っている数列を部分列 (Bl,Bl+1,,Br) に置き換える。(添字は1から振り直す。)

K 回の一連の操作のスコアを、操作が全て終了した時点での数列の要素の総和と定義します。
考えうる全ての操作手順についてスコアを求め、その合計を 109+7 で割ったあまりを出力してください。

なお、2つの操作手順が異なるとは、ある正整数 i が存在して、 i 回目の操作で選ぶ整数の組 (l, r) が異なることを言います。

入力

N  K
A1    AN

【制約】
1N2×105
0K108
1Ai109
・入力は全て整数である。

出力

 答えを出力せよ。

サンプル

サンプル1
入力
2 2
3 4
出力
21

1回目の操作では、数列は (3,4), (3), (4) のいずれかになります。
2回目の操作では、(3,4) からは (3,4), (3), (4) のいずれかに変化します。 (3) からは (3)(4) からは (4) に変化します。
以上より、スコアの総和は 7+3+4+3+4=21 です。

サンプル2
入力
4 0
1 2 3 4
出力
10

操作を行わないので、操作手順は1通りしかなく、スコアの総和は 10 です。

サンプル3
入力
5 100000000
1000000000 999999999 888888888 777777777 666666666
出力
870870837

総和は非常に大きくなることがあるので、109+7 で割ったあまりを出力してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。