Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_10_04 - 25 |
Dana jest dodatnia liczba całkowita n, na której możemy wykonać dowolną liczbę operacji. Każda operacja polega na zamianie miejscami dwóch sąsiadujących ze sobą cyfr. Po każdej operacji największa potęga liczby 10, która jest nie większa od liczby n nie może ulec zmianie.
Odpowiedz na pytanie. Ile minimalnie operacji trzeba wykonać, aby n stała się liczbą podzielną przez 25?
Wejście
Na wejściu znajduje się dodatnia liczba całkowita n ∈ [1, 10100].
Wyjście
Na wyjściu należy wypisać, ile minimalnie operacji trzeba wykonać, aby n stała się liczbą podzielną przez 25. Jeżeli nie jest to możliwe należy wypisać -1.
Przykład 1
Wejście:
2351
Wyjście:
3
Wyjaśnienie do przykładu:
Jedna z optymalnych sekwencji zamian to: 2351 → 2315 → 3215 → 3125
Przykład 2
Wejście:
123
Wyjście:
-1
Dodane przez: | Maciej Boniecki |
Data dodania: | 2018-12-20 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |