Pentru realizarea algoritmului am utilizat următoarele variabile:
- la și lx, întregi, pentru memorarea lungimii subșirurilor: maxim și curent din șirul de cote inițiale, care am alocat 2*4=8 octeți;
- a, aux și x, de tip întreg, pentru memorarea în a - a valorii de început a subșirului maximal de cote, în aux - a valorii de început a subșirului curent de cote, iar în x a - valorii curente din fișier, pentru care am alocat 3*2=6 octeți.
În concluzie, variabilele folosite utilizează o memorie de 8+6=14 octeți, de unde rezultă EFICIENȚA UTILIZĂRII MEMORIEI (pe lângă variabila utilizată pentru fișier).

Algoritmul debutează cu citirea primei valori din fișier, inițializarea lungimii subșirului care începe cu a cu 1 și lungimea a unui x curent viitor cu 0. După acestea citesc din fișier în continuare pentru calcularea lungimii primului subșir crescător de cote. În momentul în care x-ul curent nu respectă consecutivitatea crescătoarea, îl folosesc pe aux - pentru memorarea valorii de început a subșirului următor și tot așa până la final. Evident, pentru fiecare a, indexez cu 1 lungimea subșirului care începe cu a (la), identic pentru aux (lx). Modific a și la doar dacă găsesc un subșir maximal mai bun (lung) decât cel anterior găsit. La final, mă asigur că a și la se modifică, dacă ultimul număr face parte dintr-un subșir maximal, altul decât cel anterior găsit.
La final, dacă la==1 (lungimea subșirului maximal este formată dintr-un singur număr) - afișez mesajul "nu există", în caz contrar afișez pe rând toate numerele consecutive care încep cu a de lungime la-1.
EFICIENTIZAREA TIMPULUI DE EXECUȚIE rezultă din liniaritatea algoritmului, complexitatea algoritmului fiind maxim N (unde N este numărul de valori citite din fișier), adică O(N).


