Pentru realizarea algoritmului am utilizat următoarele variabile:
- a, b, c și x, de tip int, pentru care am alocat 4*4=16 octeți (a, b, c - pentru păstrarea celor trei valori cerute, în ordine crescătoare a<b<c, iar x - pentru a citi valorile din fișierul text <bac.in>). Din cele precizate rezultă EFICIENTA UTILIZĂRII MEMORIEI (pe lângă variabila utilizată pentru fișier).

În prima parte a algoritmului am declarat variabilele și am inițializat a, b și c cu cea mai mare valoare întreagă. Pentru fiecare valoare x citită (care are ultimele două cifre egale cu 23), păstrez valoarea lui x în a - dacă este mai mică decât a-ul găsit a un moment dat (înainte pun în c valoarea din b și în b valoarea din a), în caz contrar păstrez valoarea lui x în b - dacă este mai mică decât b-ul găsit la un moment dat (înainte pun în c valoarea din b), iar în ultimul caz contrar, păstrez valoarea lui x în c. La final, afișez în ordine valorile "a b c". Citirea am realizat-o așa cum s-a cerut din fișierul <bac.in>.
În acest fel am EFICIENTIZAT TIMPUL DE EXECUȚIE, algoritmul fiind unul liniar, complexitatea algoritmului fiind maxim N (unde N este numărul de valori din fișier), adică O(N), de unde rezultă liniaritatea algoritmului.
