Pentru realizarea algoritmului am utilizat următoarele variabile:
- x, o variabilă întreagă, prin intermediul căreia citim valorile din fișierul dat, iar la final, contorizăm numerele precizate în enunț a le căuta, pentru care am alocat 4 octeți;
- a, un vector (de frecvență) de tip întreg - intervalul de interes fiind [10,100), pe care îl declarăm global (inițializare cu 0), după care la fiecare citire din fișier - dacă mai e 0 îl facem 1, în dreptul sufixului de două cifre a lui x (citit din fișier), scăzând 5 din valoarea rezultată, după care repetăm operațiunea pentru prefixul de două cifre a lui x, adunând 5. La final, dacă numărul prefixelor mn este egal cu numărul sufixelor mn, în a vom avea a[mn]=1. Am pus valoarea 1 înainte de +/-5 pentru a marca vizitarea numărului mn de două cifre. Pentru vectorul a am alocat 100*4=400 de octeți (prin adăugarea/scăderea unui 5 din a[mn] nu se va depăși tipul int, nici la limita minimă, nici la limita maximă);
- k, o variabilă de tip întreg, prin intermediul căreia am calculat prefixul/sufixul lui x, actualizând astfel valoarea din a, pentru care am alocat 4 octeți.
În concluzie, variabilele folosite utilizează o memorie minimă de 4+400+4=408 octeți, de unde rezultă EFICIENȚA UTILIZĂRII MEMORIEI (pe lângă variabila utilizată pentru fișier).

În prima parte a algoritmului, după declararea variabilelor, am citit din fișier valorile x din fișier. Pentru acele valori care au minim 3 cifre, am calculat în k sufixul lui x, după care dacă a[k]=0, am adăugat aici 1 și am scăzut 5 (pentru fiecare k al unui x citit), după care am repetat operațiunea în cazul în care k este sufixul lui x, cu precizarea că am adăugat 5 aici.
Pentru contorizarea valorilor cerute am reinițializat x cu 0, după care am numărat acele valori vizitate ale căror număr de sufixe este egal cu numărul prefixelor, adică acele valori din intervalul k aparține lui [10,100), pentru care a[k]=1 (a fost vizitat), iar la final am afișat pe ecran această valoare.
Complexitatea algoritmului este N (citirea valorilor din fișier) + 90 (contorizare numere din [10,100)), prin urmare complexitatea algoritmului este O(N+90)=O(N).
EFICIENTIZAREA TIMPULUI DE EXECUȚIE constă în liniaritatea algoritmului, complexitatea ajungând la O(N).