Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Восстановление строки

(Время: 1 сек. Память: 16 Мб Сложность: 39%)

Напомним, что cтрока B = b1b2b3...bm, является подпоследовательностью строки A = a1a2a3...an, если существует строго возрастающая последовательность {i1, i2, i3, . . . , im} индексов A, такая, что для всех j ∈ [1, m], выполняется Aij=Bj. Например, B = ”aba” является подпоследовательностью строки A = ”abacaba”. Последовательность индексов в этом случае может быть такой: {1, 2, 3}.

Задано число n. Необходимо найти строку вида aibjck, в которой abc встречается ровно n раз как подпоследовательность, причем длина найденной строки должна быть минимальна.

Строки вида aibjck – это строки, в которых вначале идут i символов a, затем j символов b, затем k символов c. Например, a2b3c4 = aabbbcccc.

Входные данные

Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 1010).

Выходные данные

В выходной файл OUTPUT.TXT выведите три целых числа: i, j и k.

Примеры

INPUT.TXTOUTPUT.TXT
111 1 1
221 1 2

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Личные олимпиады
 Командные олимпиады
 Первая личная олимпиада
 Вторая личная олимпиада
 Третья личная олимпиада
 Четвертая личная олимпиада
 Пятая личная олимпиада
 Шестая личная олимпиада
 Седьмая личная олимпиада
 Восьмая личная олимпиада
 Девятая личная олимпиада
 Десятая личная олимпиада
 Одиннадцатая личная олимпиада
 A. Расписание
 B. Восстановление строки
 C. Бесконечный поезд
 D. Замок с шестеренками

Красноярский краевой Дворец пионеров, (c)2006 - 2019, E-mail: admin@acmp.ru