eolymp
bolt
Try our new interface for solving problems
Məsələlər

Градуированный лексикографический порядок

Градуированный лексикографический порядок

Рассмотрим целые числа от \textbf{1} до \textbf{n}. Назовём \textit{весом числа} его сумму цифр, и обозначим вес числа \textbf{x} за \textbf{w}(\textbf{x}). Затем упорядочим числа в так называемом \textit{градуированном лексикографическом порядке}. Пусть заданы два числа \textbf{a} и \textbf{b}. Если \textbf{w}(\textbf{a}) < \textbf{w}(\textbf{b}), то число \textbf{a} идёт в градуированном лексикографическом порядке до числа \textbf{b}. Если же \textbf{w}(\textbf{a}) = \textbf{w}(\textbf{b}), тогда число \textbf{a} идёт в градуированном лексикографическом порядке до числа \textbf{b} если и только если десятичное представление числа \textbf{a} лексикографически меньше десятичного представления числа \textbf{b}. Например, в этом порядке: \begin{itemize} \item число \textbf{120} идёт до числа \textbf{4}; \item число \textbf{555} идёт до числа \textbf{78}; \item число \textbf{20} идёт до числа \textbf{200}. \end{itemize} По заданным \textbf{n} и \textbf{k}, найдите номер числа \textbf{k} и число, находящееся на \textbf{k}-м месте, в градуированном лексикографическом упорядочении натуральных чисел от \textbf{1} до \textbf{n}. \InputFile Во входном файле записаны числа \textbf{n} и \textbf{k} (\textbf{1} ≤ \textbf{k} ≤ \textbf{n} ≤ \textbf{10^18}). \OutputFile В первой строке выходного файла выведите номер числа \textbf{k}. Во второй строке выведите число, находящееся на \textbf{k}-м месте.
Zaman məhdudiyyəti 3 saniyə
Yaddaşı istafadə məhdudiyyəti 32 MiB
Giriş verilənləri #1
20
10
Çıxış verilənləri #1
2
14