Softuniada 2020 - Задача 08. Sticks
Здравейте колеги,
Задачата е 08. Sticks от Softuniada 2020.
Мъчи ме от поне ден и блокирах.
Започнах с Java. Ето и решението. Проблем се оказа времето и на 8 от 15 теста гръмна. Сигурен съм във вреността на изхода и остава времето. Неможах да намеря по бърз вариант и реших да пробвам с друг език.
Последва С++. Ето и това решение. Тук не генерира всички възможни вариации и немога да намеря проблема.
Ще съм благодарен ако се появи някоя насока.
Всъщност замяната само на:
с:
разреши проблема. Не знаех, че има толкова голяма разлика (макс 0.401 s срещу 1.354 s). Дори мислех че е обратно. Знам че тези времена не са меродавни, но все пак е показател.
Молбата ми е ако имаш свободно време да погледнеш и другото решение. Там ми е голяма загадка. Алгоритъма е същия, а резултатите не.
Благодаря за отделеното време.
П.С. Относно TreeSet и stream + sort -> остатък е от опит да използвам HashSet като по-бърз контейнер и след това сортиране. Нямаше голяма разлика.
@thekoceto
Ъпдейтнах си отговора и за C++ решението.
Време е за минутка срам.
Извинявай за изгубеното време.