AT_utpc2025_l Linear Floor

Description

整数 $ N,K $ と長さ $ N $ の整数列 $ X=(X_0,X_1,\ldots,X_{N-1}) $ が与えられます。 以下の条件を全て満たす整数の組 $ (M,A,B) $ を**良い組**と呼びます。 - $ 1 \le M < 2^{30} $ - $ k=0,1,\ldots,N-1 $ に対し $ \displaystyle X_k = \left\lfloor\frac{Ak+B}M \right\rfloor $ が成り立つ。 制約下で良い組の個数は有限となることが証明できます。この個数を $ C $ とします。 $ K \le C $ が成り立つか判定し、成り立つ場合は辞書順で $ K $ 番目に小さい良い組を求めてください。 $ T $ 個のテストケースが与えられるので、それぞれについて答えてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ $ i $ 番目のテストケース $ \text{case}_i $ は以下の形式で与えられる。 > $ N $ $ K $ $ X_0 $ $ X_1 $ $ \ldots $ $ X_{N-1} $

Output Format

$ T $ 行出力せよ。 $ i $ 行目には、 $ \text{case}_i $ について $ K \le C $ が成り立つ場合は辞書順で $ K $ 番目に小さい良い組の $ M,A,B $ をこの順に半角スペース区切りで、成り立たない場合は `-1` を出力せよ。

Explanation/Hint

### 部分点 - 追加の制約 $ K=1 $ を満たすデータセットに正解した場合は $ 2 $ 点が与えられる。 - 追加の制約 $ K\le 10 $ を満たすデータセットに正解した場合はさらに $ 18 $ 点が与えられる。 ### Sample Explanation 1 $ 1 $ 番目のテストケースについて、良い組は辞書順に $ (M,A,B)=(2,1,1),(3,2,1),(4,2,2),(4,2,3),(4,3,1),\ldots $ です。 $ 2 $ 番目のテストケースについて、良い組は存在しません。 $ 3 $ 番目のテストケースについて、良い組は辞書順に $ (M,A,B)=(4,-7,39),(7,-12,68),(8,-14,78),(8,-14,79),(9,-16,89),(10,-17,97),(11,-19,107),\ldots $ です。 ### Constraints - 入力は全て整数 - $ 1\le T \le 1000 $ - $ 2\le N \le 2\times 10^5 $ - $ 1\le K\le 10^9 $ - $ 0\le X_i < 2^{30} $ - 全てのテストケースにおける $ N $ の総和は $ 2\times 10^5 $ 以下