Pentru bac, eficienta la o problema de genul ar fi sa nu salvezi numele obtinute intr-un vector, ci sa folosesti 2 variabile, un max si o alta variabila pentru a itera posibilele numere, that's it, nu e cine stie ce solutia lui peste. Nu irosesti memorie salvand toate valorile posibile, nici timp de executie parcurgand ulterior vectorul pentru a afisa maximul Legat de rezolvare, iti poti face o functie la care sa trimiti ca parametru numarul ( intreg, cu toate cifrele ) si 2 pozitii care le elimini. in functie incepi sa compui numarul de la coada la cap ( 15356 = 6 * 1 + 5 * 10 + 3 * 100 .. ) sarind compunerea pentru pozitiile care trebuie eliminate. Functia iti va returna numarul la finalul executiei si va fi apelata din main() folosind o structura repetiva ( for () { functia_pacii ( NUMAR , Poz1 , Poz2 ); ceva conditie sa modifici poz1 si poz2 ; }) . Fiecare rezultat returnat de functia respectiva compari cu un maxim si aia e. LE: Din fisier le citesti ca si stringuri salvandu-le in ceva variabila locala dupa care aplici o functie de conversie to int pe ele, gen atoi.