Турнір вихідного дня 25-09-2026

Ліміт часу: 1.0s / Ліміт памʼяті: 256M

Бали: 20

Дано натуральне число ~n~. Виведіть число, записане у зворотному порядку цифр.

Якщо після перевертання на початку утворюються нулі, їх не потрібно виводити.

Вхідні дані

В одному рядку задано натуральне число ~n~ (~1 ≤ n ≤ 10^{18}~).

Вихідні дані

Виведіть число, записане у зворотному порядку цифр.

Приклад

Вхідні дані
12050
Вихідні дані
5021

Ліміт часу: 1.0s / Ліміт памʼяті: 256M

Бали: 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]~.


Ліміт часу: 1.0s / Ліміт памʼяті: 256M

Бали: 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 (вставка).