No.3408 1215 Segments
レベル : / 実行時間制限 : 1ケース 2.500秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 12
作問者 :
kencho
/ テスター :
sclara
タグ : / 解いたユーザー数 12
作問者 :
問題文最終更新日: 2025-12-14 19:51:11
コンテストの他の問題:
問題文
今日は $12$ 月 $15$ 日です!
$12$ 月 $15$ 日の月と日を並べて書くと $1215$ という整数になりますが、この整数には少し特別な性質があります。
それは、次のように各桁を順番に $7$ セグメントディスプレイに表示した際に、$7$ 個のセグメントがちょうど $2$ 回ずつ使用されるというものです。
さて、正の整数 $N$ が与えられるため、以下の条件を満たす $N$ 以上の整数の中で最小のものを求めてください。
- 正整数の(先頭に $0$ が付かない) $10$ 進表記の各桁を順番に $7$ セグメントディスプレイに表示した際に、$7$ 個のセグメントが全て同じ回数だけ使用される
- 表示の形式は以下の画像の「表示例」に従う。ただし、以下の画像において「異体字」が定められている数字については、「表示例」と「異体字」のいずれかを桁ごとに選んで使用してよい
(出典 - Wikipedia, 2025/11/25)
このとき、任意の正整数 $N$ に対して、求める整数が存在することが示せます。
また、セグメントが使用された回数とは、そのセグメントを使用する数字が整数の $10$ 進表記中に現れた回数を意味します(セグメントの状態が変化したかどうかは関係ありません)。
制約
- 入力は全て整数
- $1 \leq N \leq 10^{18}$
入力
$N$
出力
条件を満たす $N$ 以上の整数の中で最小のものを一行に出力してください。
最後に改行してください。
サンプル
サンプル1
入力
1201
出力
1215
$1215$ は問題文中の画像の通り、条件を満たします。
$12$ 月中の日付を $4$ 桁の整数として書いた際に条件を満たすのはこれだけです。
サンプル2
入力
8
出力
8
$8$ を表示するには全てのセグメントを $1$ 回ずつ使用します。
サンプル3
入力
20251215
出力
20251407
例えば、次のように表示すると全てのセグメントを $5$ 回ずつ使用できます。
サンプル4
入力
271828182845904523
出力
271828182845904600
答えが大きくなるケースに注意してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。