問題一覧 > 通常問題

No.3548 SigMax Digits (Construction ver.)

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 45
作問者 : 👑 loop0919 / テスター : ぽえ ルク
ProblemId : 13266 / yukicoder contest 500 (順位表) / 自分の提出
問題文最終更新日: 2026-04-22 22:08:03
yukicoder contest 500の他の問題:

問題文

正整数 $n$ に対し、 $f(n)$ を「$n$ を十進表記したときに含まれる数字の最大値」とします。
例えば、 $f(314) = 4, ~ f(10) = 1, ~ f(998244353) = 9$ です。

正整数 $N$ が与えられます。
$1 \leq L \leq R \leq 10^{18}$ を満たす整数 $L, R$ のうち、 $f(L) + f(L + 1) + \cdots + f(R) = N$ を満たすものを一つ提示してください。

本問題の制約下において、条件を満たす $L, R$ は必ず存在することが保証されます。

$T$ 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 入力される値はすべて整数
  • $1 \leq T \leq 10^5$
  • $1 \leq N \leq \color{red}{10^{17}}$

入力

入力は以下の形式で標準入力から与えられる。ここで $t ~ (1 \leq t \leq T)$ 番目のテストケースを $\mathrm{case}_t$ と表す。

$T$
$\mathrm{case}_1$
$\mathrm{case}_2$
$\vdots$
$\mathrm{case}_T$

各テストケースは以下の形式で与えられる。

$N$

出力

$T$ 行出力し、$t$ 行目には $t$ 番目のテストケースについての答えを出力せよ。

各テストケースについて、答えとなる $L, R$ をこの順に空白区切りで出力せよ。
ただし、答えが複数存在する場合、そのいずれを答えても正答と判定される。

サンプル

サンプル1
入力
3
23
5
99999999999999999
出力
58 60
5 5
888888888888888890 900000000000000000

$1$ 番目のテストケースについて、 $f(58) + f(59) + f(60) = 8 + 9 + 6 = 23$ となります。

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