Ответ:
Пусть самый правый человек в шеренге — это лжец, тогда справа от него должно быть больше рыцарей, чем слева, чего быть не может, так как справа от него никого нет. Значит, он рыцарь и говорит правду.
Пусть человек перед ним лжец, тогда рыцарей справа от него должно быть больше, чем слева, значит, все остальные лжецы. Но тогда, тот лжец который стоит перед ним должен будет сказать, что справа от него рыцарей больше, в противном случае он не соврет. Значит, предпоследний человек тоже рыцарь.
Аналогично для любого человека, стоящего на позиции N от 351 до 699 включительно. Он является рыцарем, и слева от него находится больше лжецов (350 первых человек), чем справа рыцарей 0 < (700 — N) < 350. В противном случае, если бы он являлся лжецом, то справа от него должно было бы быть больше рыцарей, чем слева, а это значит, что слева от оказалось бы не менее 700 — (700 — N) = N лжецов, то есть лжецов было бы больше 351, и это бы означало, что справа от лжеца, который находится среди всех лжецов самым левым, лжецов находится больше, чем рыцарей, а значит, чтобы соврать, он должен был бы сказать, что рыцарей справа от него больше.
Таким образом, все люди от 351го до 700го — рыцари. Ни один человек с 1го по 350 рыцарем не является, так как в противном случае слева от него лжецов бы оказалось меньше 350 человек, а рыцарей справа от него оказалось бы больше 350 человек, и он был бы вынужден сказать, что рыцарей справа больше.
Таким образом, всего 350 рыцарей.