Турнір вихідного дня 25-09-2026
Бали: 20
Дано натуральне число ~n~. Виведіть число, записане у зворотному порядку цифр.
Якщо після перевертання на початку утворюються нулі, їх не потрібно виводити.
Вхідні дані
В одному рядку задано натуральне число ~n~ (~1 ≤ n ≤ 10^{18}~).
Вихідні дані
Виведіть число, записане у зворотному порядку цифр.
Приклад
Вхідні дані
12050
Вихідні дані
5021
Бали: 30
Дано масив із ~N~ цілих чисел. За одну операцію ви можете вибрати будь-який елемент і збільшити його на ~1~ (операцію можна виконувати будь-яку кількість разів для будь-яких елементів).
Знайдіть мінімальну загальну кількість операцій, щоб масив став строго зростаючим, тобто ~a_1 < a_2 < \dots < a_N~.
Вхідні дані
Перший рядок містить ціле число ~N~ (~1 \le N \le 100\,000~).
Другий рядок містить ~N~ цілих чисел ~a_1, a_2, \dots, a_N~ (~1 \le a_i \le 10^9~).
Вихідні дані
Виведіть одне ціле число — мінімальну кількість операцій.
Приклад
Вхідні дані
4
1 2 1 3
Вихідні дані
3
Пояснення: один із оптимальних способів — збільшити третій елемент на ~2~ (стає ~3~) і четвертий на ~1~ (стає ~4~). Отримаємо масив ~[1, 2, 3, 4]~.
Бали: 50
Дано два рядки ~S~ та ~T~. Знайдіть мінімальну кількість операцій, необхідних для перетворення ~S~ на ~T~.
Дозволені операції:
- вставка одного символу;
- видалення одного символу;
- заміна одного символу на інший.
Вхідні дані
Перший рядок містить рядок ~S~ (~0 \le |S| \le 200~).
Другий рядок містить рядок ~T~ (~0 \le |T| \le 200~).
Рядки складаються з маленьких латинських літер (можуть бути порожніми).
Вихідні дані
Виведіть одне ціле число — мінімальну редакційну відстань між ~S~ та ~T~.
Приклад
Вхідні дані
kitten
sitting
Вихідні дані
3
Пояснення:
kitten → sitten (заміна) → sittin (заміна) → sitting (вставка).