090 - Tenkei90's Last Problem(★7)
Editorial
/
Time Limit: 7 sec / Memory Limit: 1024 MB
配点: 10 点
問題文
以下の条件を満たす長さ N の非負整数列 A=(A_1,A_2, \cdots ,A_N) の個数を 998244353 で割ったあまりを求めてください。
- 1 \leq l \leq r \leq N を満たす任意の整数の組 (l,r) について、 \mathrm{min} \lbrace A_l,A_{l+1}, \cdots , A_r \rbrace \times (r-l+1) \leq K が成り立つ。
制約
- 1 \leq N \leq 10^{11}
- 1 \leq K \leq 10^5
- 入力はすべて整数
小課題・得点
この問題はいくつかの小課題に分けられ、その小課題のすべてのテストケースに正解した場合に「この小課題に正解した」とみなされます。
提出したソースコードの得点は、正解した小課題の点数の合計となります。
- (1 点): N \leq 10^5, K = 1
- (1 点): K = 1
- (1 点): N \leq 6, K \leq 6
- (2 点): N \leq 100, K \leq 100
- (2 点): N \leq 10000, K \leq 10000
- (2 点): N \leq 10^5
- (1 点): 追加の制約はない。
入力
入力は以下の形式で標準入力から与えられます。
N K
出力
答えを 1 行に出力してください。
入力例 1
2 2
出力例 1
8
A=(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1) は条件を満たします。
A=(2,2) は、 l=1,r=2 の場合に \mathrm{min} \lbrace A_l,A_{l+1}, \cdots , A_r \rbrace \times (r-l+1) = \mathrm{min} \lbrace 2,2 \rbrace \times (2-1+1) = 4 \gt K となり、条件を満たしません。
入力例 2
17 29
出力例 2
263173793
この入力は小課題 4,5,6,7 の制約を満たします。
入力例 3
2718 2818
出力例 3
393799986
この入力は小課題 5,6,7 の制約を満たします。
入力例 4
28593 1
出力例 4
365728740
この入力は小課題 1,2,6,7 の制約を満たします。
入力例 5
869120 1001
出力例 5
967393022
この入力は小課題 7 の制約を満たします。