Codeforces Round 144 (Div. 2) |
---|
Закончено |
Рассмотрим уравнение:
где x, n — целые положительные числа, s(x) — функция, равная сумме цифр числа x в десятичной системе счисления.
Вам дано целое число n, найдите наименьший целый положительный корень уравнения x, или определите, что таких корней нет.
В единственной строке записано целое число n (1 ≤ n ≤ 1018) — параметр уравнения.
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.
Выведите -1, если уравнение не имеет целых положительных корней. Иначе выведите такое наименьшее целое x (x > 0), что описанное в условии равенство выполняется.
2
1
110
10
4
-1
В первом тестовом примере x = 1 является наименьшим корнем. Так как s(1) = 1 и 12 + 1·1 - 2 = 0.
Во втором тестовом примере x = 10 является наименьшим корнем. Так как s(10) = 1 + 0 = 1 и 102 + 1·10 - 110 = 0.
В третьем тестовом примере корней у уравнения нет.
Название |
---|