Clasa a IX- a Problema 2 - ir Autor: comisia Descrierea soluiei (Vlad Andrei Tudose) 1. Soluia care obine 30 de puncte se bazeaz pe generarea succesiv a configuraiilor de semne +/- pn la N determinarea unei configuraii corecte. Complexitatea este O(2 *N). 2. Soluia de 100 de puncte se bazeaz pe o rezolvare inductiv astfel: - presupunem c am determinat deja o secven de semne pentru irul ai+1,ai+2,...,aN astfel nct valoarea Si+1 a expresiei obinute s aib proprietatea 0 Si+1 ai+1 - putem determina o secven de semne pentru irul ai,ai+1,...,aN astfel nct valoarea Si a expresiei obinute s aib proprietatea 0 Si ai. Avem dou cazuri: o Si+1 ai. n acest caz, scriem semnul n faa lui ai i pstrm semnele determinate la pasul anterior pentru ai+1,ai+2,...,aN. Observm c valoarea Si=-ai+Si+1 are proprietatea dorit (avem relaia Si+1 ai+1 2*ai din care, dac scdem ai, se obine Si+1 - ai ai deci Si ai) o Si+1< ai. n acest caz, scriem semnul + n faa lui ai i inversm semnele determinate la pasul anterior pentru ai+1,ai+2,...,aN. Observm c valoarea Si=ai-Si+1 are proprietatea dorit (avem relaia Si+1< ai pe care, dac o nmulim cu -1 i adunm apoi ai, se obine ai- Si+1> 0 deci Si> 0 ). Schimbarea semnelor trebuie implementat n timp constant. O variant de implementare este construirea, odat cu soluia, a unui vector swap de dimensiune N, cu semnificaia swap[i]=1, dac semnele valorilor ai+1,ai+2,...,aN trebuie schimbate i 0 altfel. Complexitatea este O(N).