Am declarat trei variabile an, x - de tip întreg și a - un vector de 4 întregi, în total 6*4=24 de octeți, de unde rezultă EFICIENȚA UTILIZĂRII MEMORIEI. Acestea s-au declarat pe lângă fin, variabila folosită pentru fișierul text.

Variabila an am folosit-o pentru citirea primei valori din fișierul text, respectiv anul expoziției auto. Prin intermediul lui x citim valorile rând pe rând din fișier. Inițializăm toate pozițiile vectorului cu -1. În pozițiile a[0] și a[1] memorăm identificatorii colecționarilor vecini la un moment dat în fișier (în urma citirii secvențiale), cu precizarea că aceștia sunt inversați. În cazul în care a[1] este diferit de -1, adică am găsit doi vecini, aceștia sunt ultimii la un moment dat, motiv pentru care inversăm salvarea a[1] și a[0], respectiv în a[2] vom memora a[1], iar în a[3] vom memora a[0]. La fiecare doi vecini din anul indicat (x%10000=an) facem repetitiv aceste memorări.
La final, dacă a[3]=-1, înseamnă că nu am găsit în fișier cel puțin doi colecționari vecini din anul indicat, caz în care afișez mesajul "nu exista", în caz contrar afișez cele două valori a[2] și a[3], exact în aceeași ordine.

În acest fel, am EFICIENTIZAT TIMPUL DE EXECUȚIE, algoritmul fiind unul liniar, complexitatea algoritmului fiind maxim O(N) (unde N este numărul de valori din șir, mai puțin anul expoziției), de unde rezultă liniaritatea algoritmului.
