Andiamo per esclusione.
Se avesse mentito Aldo, avrebbe dovuto dire: "Sono arrivato primo o ultimo". Ma questo sarebbe in contradizione con le frasi di Carlo e Dario, quindi non è stato Aldo a mentire.
Se avesse mentito Bruno, avrebbe dovuto dire "Sono arrivato ultimo". Ma questo sarebbe in contradizione con la frase di Dario, quindi non è stato Bruno a mentire.
Se avesse mentito Carlo, avrebbe dovuto dire "Non sono arrivato primo". Quindi avremo Aldo e Carlo che non sono primi, e Dario che è ultimo. Quindi solo Bruno rimane come possibile vincitore. E non abbiamo alcuna contradizione.
Se avesse mentito Dario, avrebbe dovuto dire "Non sono arrivato ultimo". Quindi avremo Aldo, Bruno e Dario che non sono arrivati ultimi, ma neanche Carlo può essere arrivato ultimo perché è arrivato primo. Quindi abbiamo una contradizione.
Ergo: Carlo ha mentito e ha vinto Bruno.
Risposta B.