Я считаю, что в начальный момент времени каретка находится под любой ячейкой с меткой. Предлагаю такой алгоритм: представим, что по обе стороны от массива есть по пузырьку, и они начинают двигаться навстречу друг другу. Встретятся они в средней ячейке.
<u>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
ReadlnString('Введите целое число:').Reverse.Println
end.
<span>1) Из (а) и (б): Ваня и Петя - не С. и не В. Т.е. они либо П, либо К. </span>
<span>Соответственно, Коля и Саша - либо С, либо В. </span>
<span>2) Из (в) и (г) следует, что Коля не В, а значит он - С (поскольку Коля - либо С, либо В). </span>
<span>Значит, В - это Саша (поскольку Саша - либо С, либо В, а С - это Коля) </span>
<span>3) Раз Саша - В, то Петя выше, чем П (из пунктов (в) и (д)), значит, он не П, а К. </span>
<span>Соответственно, Ваня - П.</span>
01000100 01110101 01100010 01101001 01101110 01110011 01101011 01100001 01101001 01100001