Problema era destul de simpla.
Existau mai multe metode de rezolvare, insa cea la care m-am gandit eu
este urmatoarea:
Facem suma tuturor elementelor din sirul dat.
In caz ca ea este divizibila cu 3, atunci subsirul cerut este chiar sirul
initial, deci se scrie valoarea lui n in fisier.
In caz ca suma da restul 1 la impartirea cu 3, atunci avem doua subcazuri:
1) Exista in sir un element care la impartirea cu 3 da restul 1. In acest
caz, scotand din sir elementul respectiv, suma elementelor ramase va fi
divizibila cu 3 si rezultatul va fi n-1
2) In caz ca nu exista nici un element care sa dea restul 1 la impartirea
cu 3, atunci in mod sigur vor exista 2 elemente care dau restul 2 la
impartirea cu 3. Scotand aceste doua elemente, obtinem o suma
divizibila cu 3. In acest caz rezultatul este n-2.
Daca suma elementelor din sir da restul 2 la impartirea cu 3, vor exista
doua subcazuri similare celor prezentate mai sus.
Rezultatele admise erau deci n, n-1 si n-2.
|
|