Źle zinterpretowałeś treść zadania.
Zakończ działanie programu, gdy na wejściu pojawi się, trzecia liczba 42 poprzedzona jakąkolwiek inną liczbą, różną od 42.
Twój program kończy działanie, gdy występuje sytuacja 42, a, 42, b, 42,
gdy a i b != 42
Kod jest więc poprawny tylko dla tego jednego przypadku i dlatego daje taki sam wynik jak w przykładzie :).
Poza tym mógłbyś wykonać to lepiej niż rezerwować tablicę o rozmiarze 100000 wartości xD. (no i dla wartości i 0 - 4 odwołujesz się do komórek pamięci w tablicy o indeksach ujemnych).