Am si eu o intrebare... Ce sunt cu limitele de timp asa de stranse la ultimele probleme? De exemplu, la problema prefix am facut ca in rezolvarea oficiala O(N * T), folosind functia prefix KMP. Functia prefix am redactat-o exact ca in Cormen iar parcurgerea pt. sir periodic este un simplu for. Am primit TLE pe 4 teste...
In plus, la problema "COLOR" am implementat o data in C si citeam cu scanf, iar a doua oara in C++ si citeam cu streamuri. Prima data mi-au dat niste teste teste TLE, a doua oara mi-au dat altele TLE!... foarte instabil... Deci tot programul meu nu facea decat sa citeasca datele, sa calculeze grade ( in timpul citirii ), si apoi mai era inca un for.. SI AM PRIMIT TLE!
Iar la problema "SISTEM", implementand exact cum scria in explicatia de la ONI2002, aveam 75, restul TLE. A trebuit sa fac cu constante, adica retineam pentru fiecare n de la 1 la 95 (!) valoarea corecta, ca sa nu mai imi iasa din timp... La ONI era 1 sec, aici 0.1...
_______________
Limitele problemelor noi puse in arhiva ( aproape toate ) sunt mult prea mici... Daca mai e cineva, de acord cu mine, sa posteze pe acest topic... Adica cu algoritmi cu aceeasi complexitate si constanta egala nu ar trebui sa se faca diferente prin faptul ca cineva citeste cu fscanf sau cu fstream..
DECI, SUNT SAU NU TIMPII DE EXECUTIE PENTRU PROBLEMELE NOI MULT PREA MICI?...
bubbleSORT
1. La prefix incearca fgets() la citire
2. La color trebuie optimizata citirea
3. La Sistem se poate implementa solutie O(N^2) care sa intre in timp, dar exista solutie O(N) (fara a lua in calcul operatiile cu numere mari desigur)
Motivul pentru care limitele sunt stranse sunt urmatoarele:
1. Descurajarea "modei" de a trimite solutiile oficiale la problemele puse noi... nu va ajuta cu nimic sa crestesti in clasament... (nu ma refer la tine stai linistit

)
2. Aveti timp nelimitat pentru a rezolva niste probleme cunoscute cat de cat, la care se pot gasi solutiile oficiale
3. Pentru ca sa va invatati sa scrieti eficient si sa faceti optimizari
La niciuna din probleme sursa mea nu contine optimizari speciale, doar chestii de bun simt, iar limitele de timp sunt alese astfel incat sa fie cu 50%-100% mai mari decat timpul maxim al sursei mele.
In concluzie, chiar daca exista probleme la care algoritmi de aceeasi complexitate nu primesc 100 din cauza de constanta, este un excercitiu foarte bun si de gandire si de implementare.. ai tot timpul din lume

... asa ca nu ai de ce sa te plangi, get to work!
