Найкоротший рядок
Обмеження: 2 сек., 256 МіБ
Марічка дуже любить рядки вигляду A..AB..BA..A
. Зліва
має бути хоча б одна, але не більше ніж \(a\) букв A
; всередині має бути
хоча б одна, але не більше \(b\) букв
B
; вкінці має бути хоча б одна, але не більше \(c\) букв A
.
Зеник хоче подарувати Марічці один рядок, який міститиме кожен улюблений рядок як послідовний підрядок. Зауважте, що підрядки можуть перетинатись.
Ваше завдання — знайти довжину найкоротшого рядка, який може подарувати Зеник.
Вхідні дані
У єдиному рядку задано три цілі числа через пробіл: \(a\), \(b\) та \(c\).
Вихідні дані
У єдиному рядку виведіть одне ціле число — відповідь на задачу.
Обмеження
\(1 \le a, b, c \le 1000\).
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
1 1 1 | 3 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 1 1 | 4 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 4 2 | 20 |
Примітки
У першому тесті є лише один улюблений рядок ABA
, тож
відповідь — 3.
У другому тесті найкоротший рядок це AABA
, він містить
обидва улюблені рядки ABA
та AABA
.
У третьому тесті є 16 різних улюблених рядків, а найкоротший рядок
який містить їх усіх має довжину 20. Одним з таких рядків є
AABBBAABAABBAABBBBAA
.
Надіслати розв'язок
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|