競プロキャンプ2023関西
コンテスト日時
2023/08/20 (Su) 09:00 - 11:00

E - Make Kushiyaki

Flavor
2
s
1024
MB
100

問題文

高橋くんは串焼きが大好きで、現在バーベキュー場にいます。

バーベキュー場には非負整数 $A_i$ と $0$ または $1$ からなる値 $T_i$ で表される食材が $N$ 個と、最大で $M$ 個の食材を刺せる串が $1$ つあります。

あなたは高橋くんのためにできるだけおいしい串焼きを作ることにしました。

串焼きは $M$ 個以内の食材を使って作られ、そのおいしさは以下のように求められます。

  • おいしさは初期値 $0$ 。
  • 順に串焼きの食材を見ていき、以下のようにおいしさを更新する。
    • $T_i = 0$ のとき、おいしさに $A_i$ を足す。
    • $T_i = 1$ のとき、おいしさを $A_i$ 倍する。
  • 最終的なおいしさが串焼きのおいしさとなる。

あなたが作ることのできる串焼きのおいしさの最大値を求めてください。

ただし、答えはとても大きくなる可能性があるので $998244353$ で割った余りを出力してください。

制約

  • $1 \leq N \leq 10^5$

  • $0 \leq M \leq N$

  • $T_i$ は $0$ または $1$

  • $0 \leq A_i \leq 10^9$

  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

$N$ $M$
$T_1$ $A_1$
$T_2$ $A_2$
$\vdots$
$T_N$ $A_N$

出力

答えを出力せよ。

入力例 1
5 3 0 2 0 3 0 1 1 2 0 2
出力例 1
10

具材は全部で $5$ 個あり、そのうち最大で $3$ 個を串に刺すことができます。

食材 $1, 2, 4$ を刺した串焼きを考えます。

  • 串焼きの $1$ つ目の食材は食材 $1$ で、おいしさは $0 + 2 = 2$ となる。
  • 串焼きの $2$ つ目の食材は食材 $2$ で、おいしさは $2 + 3 = 5$ となる。
  • 串焼きの $3$ つ目の食材は食材 $4$ で、おいしさは $5 \times 2 = 10$ となる。

このようにすることで、おいしさが $10$ の串焼きを作ることができます。

おいしさが $11$ 以上の串焼きを作ることはできません。

入力例 2
5 3 1 1 1 3 1 4 1 5 1 2
出力例 2
0

おいしさが $0$ より大きい串焼きを作ることはできないため、答えは $0$ です。

入力例 3
3 3 0 1 1 1000000000 1 1000000000
出力例 3
716070898

答えを $998244353$ で割った余りを出力する必要があることに注意してください。

提出
C++23 (g++ 12.2.0)