Задача C. Старые лампы

Автор:Zokter   Ограничение времени:60 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Имеются 3 подключенных к одному контроллеру лампы. Левая (далее Л), средняя (далее С) и правая (далее П)

Каждая из ламп имеет некоторую, неизвестную заранее, яркость. Каждый такт загорается одна лампа, номер которой определяется неизменяющейся последовательностью. Алгоритм определения номера загорающейся лампы смотреть в файле SceneControlScript.cs. После чего у загоревшейся лампы снимается 1 единица яркости.

Вам требуется определить сколько тактов сможет выполняться последовательность, при условии того, что она прекратится как только попытается зажечь лампу с нулевой максимальной яркостью.

Для реализации алгоритма вам предоставляется сцена Unity, на которой расположены 3 источника света. Взаимодействие с ними реализовано в дополнительном объекте controller. Код с вашим алгоритмом должен находиться в предусмотренном классе Solution. Другие изменения в сцене учтены не будут.

Изначально сцена находится на паузе. Моделирование начнется как только вы вызовете controller.Resume(). Кроме того, лимит горения ламп может быть большим.

Проект https://github.com/zokter/OldLamps.git, Вам осталось реализовать класс Solution.

Вы можете тестировать свои решения, изменяя данные, содержащиеся в файле input.txt в коренном репозитории проекта.

Формат входного файла

Входной файл input.txt содержит строку состоящую из 3-х чисел, разделенных пробелами, x, y, z - определяющими начальную яркость для каждой из ламп Л, С, П соответственно.

Формат выходного файла

Файл с решением должен содержать реализацию класса Solution. Количество секунд, полученное вашим решением, должно быть представлено целым числом. Ответ необходимо выводить при помощи controller.setAnswer(int answer).

Ограничения

0 ≤ x ≤ 106

0 ≤ y ≤ 106

0 ≤ z ≤ 106

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1 1 1
3

0.205s 0.040s 15