Codeforces Round 486 (Div. 3) |
---|
Закончено |
Задано целое число $$$n$$$ от $$$1$$$ до $$$10^{18}$$$, записанное без лидирующих нулей.
За один ход можно поменять в нём любую такую пару соседних цифр местами, что в результате получается число без лидирующих нулей. Иными словами, после каждого хода должно получаться число без лидирующих нулей.
Какое наименьшее количество ходов надо последовательно совершить, чтобы получилось число, которое делится на $$$25$$$? Выведите -1, если не существует такой последовательности ходов, которая приводит к числу, кратному $$$25$$$.
В первой строке входных данных задано целое число $$$n$$$ ($$$1 \le n \le 10^{18}$$$). Гарантируется, что первая (левая) цифра числа $$$n$$$ отлична от нуля.
Если не существует такой последовательности ходов, которая приводит к числу, кратному $$$25$$$, выведите -1. В противном случае выведите минимальное количество ходов в такой последовательности.
Обратите внимание, что вы можете менять местами только соседние цифры.
5071
4
705
1
1241367
-1
В первом тестовом примере одна из возможных последовательностей ходов следующая: 5071 $$$\rightarrow$$$ 5701 $$$\rightarrow$$$ 7501 $$$\rightarrow$$$ 7510 $$$\rightarrow$$$ 7150.
Название |
---|