решаю как школьник-программист (без интегралов и средних значений, использую только сортировку

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

. совершим обход отрезков от наименьшего угла к наибольшему (справа-налево), и каждое начало последующего отрезка будем совмещать параллельным переносом с концом текущего, в итоге у нас получится некоторая ломанная

. соединим конец

с началом - отрезком

, тогда у нас, очевидно, образуется выпуклый многоугольник (иначе нашлись бы последовательные отрезки у которых отношение

между углами нарушалось). теперь построим для каждой точки ломанной центрально-симметричную ей, относительно середины

- точки

. теперь всегда можно считать, что прямая

проходит через

. забудем про

, у нас остается выпуклый и симметричный относительно

многоугольник, в следствие этого, сумма проекций всех отрезков (теперь мы работаем с новым многоугольником!) на

равна удвоенному расстоянию между точками пересечения

и многоугольника. действительно, прямая

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

которые в объединении дают весь отрезок прямой

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

, что сумма проекций отрезков на любую прямую

дает больше либо 18. строим по описанным выше правилам многоугольник, и получаем, что в него можно поместить окружность радиуса

, соотв. ее длина меньше либо равна периметру многоугольника (раз они оба выпуклые), то есть сумма длин данных отрезков больше либо равна

=> противоречие.