решаю как школьник-программист (без интегралов и средних значений, использую только сортировку
):
очевидно, что параллельный перенос отрезков не изменит суммы проекций на заданную прямую. перенесем все отрезки одним концом в точку O(0,0) (считаем что декартова система в плоскости задана) так, чтобы второй конец лежал в верхней полуплоскости. таким образом каждый отрезок, как радиус-вектор, будет образовывать с OX угол от 0 до
. совершим обход отрезков от наименьшего угла к наибольшему (справа-налево), и каждое начало последующего отрезка будем совмещать параллельным переносом с концом текущего, в итоге у нас получится некоторая ломанная
. соединим конец
с началом - отрезком
, тогда у нас, очевидно, образуется выпуклый многоугольник (иначе нашлись бы последовательные отрезки у которых отношение
между углами нарушалось). теперь построим для каждой точки ломанной центрально-симметричную ей, относительно середины
- точки
. теперь всегда можно считать, что прямая
проходит через
. забудем про
, у нас остается выпуклый и симметричный относительно
многоугольник, в следствие этого, сумма проекций всех отрезков (теперь мы работаем с новым многоугольником!) на
равна удвоенному расстоянию между точками пересечения
и многоугольника. действительно, прямая
разбивает плоскость на две полуплоскости, в каждой полуплоскости все проекции отрезков оставшийся части многоугольника образуют, в силу выпуклости, не пересекающийся набор отрезков на
которые в объединении дают весь отрезок прямой
заключенный в многоугольнике.
возвращаемся к данным условиям задачи, от противного, пусть существует такое расположение отрезков, а соотв. и ломанной
, что сумма проекций отрезков на любую прямую
дает больше либо 18. строим по описанным выше правилам многоугольник, и получаем, что в него можно поместить окружность радиуса
, соотв. ее длина меньше либо равна периметру многоугольника (раз они оба выпуклые), то есть сумма длин данных отрезков больше либо равна
=> противоречие.