var c: real;
begin
readln(c);
writeln(c * 0.5 * c / 2);
end.
Изображения нет, но я могу объяснить как решать такой тип задач.
Здесь применяется теория графов. Если не углубляться, то там всё предельно ясно и просто.
Нужно изобразить граф: рисуем по кругу точки (вершины графа), называем их (можно не просто точки рисовать, а кружки и в кружках букву населенного пункта писать). Потом соединяем между собой точки у которых есть связь и подписываем "вес" (расстояние между населенными пунктами) этого пути. Визуально может не соответствовать длинна, но для нас потом главное просчитать какой из возможных путей наберет наибольший "вес".
Если что-то непонятно, спросите в комментариях.
Program Z_n;
var a:array[1..10000] of integer;
N,c,i:integer;
Begin
Readln(N);
For i:=1 to N do begin
Readln(a[i]); // вводите числа через enter
if a[i]=0 then c:=c+1;
end;
Writeln('Среди введеных чисел' ,c,' нулей');
end.