Задача №1967. Транспортировка
Разбор добавил Дмитрий Молчанов
Это интересная задача на бинпоиск и поиск кратчайшего пути. Во-первых при вводе входных данных удобнее ограничение по массе сразу переводить в допустимое кол-во кружек - вычитаем 3 миллиона и делим нацело на 100. Теперь напишем функцию f, принимающая аргумент w, обозначающий кол-во кружек в грузовике. Реализуем алгоритм Дейкстры для поиска кратчайшего пути в графе, где дороги - ребра, а время, за которое мы можем проехать по этой дороге - вес этих ребер. Единственное, что надо учесть - то, что мы не можем ходить по дорогам, ограничение на кружки на которых меньше, чем текущее кол-во кружек в грузовике. Просто добавляем одно условие в алгоритм и все. Теперь смотрим на расстояние до точки с номером n (ЛКШ) и возвращаем true, если оно не больше, чем 1440, иначе возвращаем false. Т.е. эта функция проверяет, можем ли мы добраться до ЛКШ с w кружек меньше чем за сутки. Теперь пишем бинпоиск по кол-ву кружек (левая граница поиска - 0, правая - 10000000). Выводим ответ.Сдать: для сдачи задач необходимо войти в систему
2611
statement