問題一覧 > 通常問題

No.2834 Work to Play

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 10
作問者 : ねしん / テスター : 👑 p-adic
0 ProblemId : 11034 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-01 16:52:58

問題文

和太鼓ゲームにお金を使いすぎたので、スーパーマーケットのカート回収のバイトでお金を稼ぎにしました。
スーパーマーケットから一方向に伸びる半直線状の通路にカート置き場がNN個あり、カート置き場i (1iN) i \ (1 \leq i \leq N)\ はスーパーマーケットから距離iiの位置に設置されています。
カート置き場iiには、カートがAiAi台溜まっていることがわかっています。カートは11回でKK台まで持つことが出来ます。
そこで、以下の作戦ですべてのカートを回収することにしました。
11.KK台以上溜まっているカート置き場がある場合、そこから11つ選び、そのカート置き場に置かれているカートがKK台未満になるまで、そのカート置き場からKK台ずつ運ぶ。
22.すべてのカート置き場がKK台未満になったら、カートが置かれているカート置き場の中でスーパーマーケットから一番遠いカート置き場に行き、戻る途中でKK台になるまで貪欲に集めて運ぶ。つまり、今置かれているカートのうち、スーパーマーケットからの距離が遠いものからKK台運ぶ。
この作戦を実行し、カートをすべてスーパーマーケットに回収したときの移動距離を998244353998244353で割った余りを求めてください。なお、回収途中にカートは増えないものとし、回収する際に、カートを回収する予定のあるカート置き場に最短距離で向かうものとします。

入力

N A KN\ A\ K

1N10161 \leq N \leq 10^{16}
1A<K1 \leq A < K
2K1052 \leq K \leq 10^5
N,A,KN,A,Kはすべて整数

出力

カートをすべて回収したときの移動距離を998244353998244353で割った余りを出力してください。

サンプル

サンプル1
入力
3 5 6
出力
26

初めにカート置き場1155台、カート置き場221010台、カート置き場331515台溜まっています。まず、66台未満にするために、カート置き場22から11回、カート置き場33から22回運びます。そうするとそれぞれのカート置き場には55台、44台、33台残っています。
そのあと、カート置き場33から33台、カート置き場22から33台を合わせて運んだあと、残りのカートを回収します。合計移動距離は2626となります。

サンプル2
入力
1 1 10
出力
2

11回のカート運びがKK台未満となることもあります。

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