У нас есть строго возрастающая последовательность неотрицательных целых чисел, например:
12 11 10
Подождите! Эта последовательность строго не увеличивается, не так ли? Ну, цифры написаны на разных базах. Наименьшая возможная база - 2, самая большая - 10.
Задача состоит в том, чтобы угадать основы, на которых написано каждое число, так что:
- последовательность строго увеличивается,
- сумма базисов максимальна.
Например, решение для образца будет:
6 8 10
потому что под этими основаниями последовательность становится 8 9 10
десятичной - строго возрастающая последовательность, и мы не в состоянии найти основания, для которых последовательность остается строго возрастающей и чья сумма больше чем 6+8+10
.
Из-за второго ограничения решение 3 5 7
не является удовлетворительным: несмотря на то, что последовательность становится 5 6 7
под эти основания - нам нужно максимизировать сумму оснований, и 3+5+7 < 6+8+10
.
Если нет оснований, 2<=b<=10
возможно, что ряд будет строго увеличиваться, например:
102 10000 10
не замужем
0
должен быть выведен.
Последовательность ввода может передаваться наиболее удобным для вашего решения способом (стандартные параметры ввода / параметры командной строки / аргументы функций ...).
1 3 5
и 1 7 22
оба растут под основанием 10. Таким образом, решение для обоих случаев заключается в том 10 10 10
, что нам нужно максимизировать сумму базисов, гарантируя, что последовательность возрастает, когда n-е число интерпретируется как записываемое в базе, равной n срок решения.
1 1 1
или 3 3 4
не растут.
1 3 5
восходящая последовательность? Как насчет1 7 22
? (в базе 10)