Я не уверен в ответе, так как сам только писал эту олимпиаду, но мой ответ таков:
1) Так как и лжец и честный ответит на 4 вопрос "да", мы можем сказать, что гномов всего было 100.
2) Так как каждый гном носит только один кафтан, то мы можем сказать, что честный ответит да только 1 раз за первые 3 вопроса, а лжец - 2 раза.
3) В сумме ответов да получилось 160, следовательно 160-100=60 гномов ответили дважды.
4) 100-60=40 честных гномов.
Ответ: 40 честных гномов.