I tak i nie. Ja zaliczyłem to zadanie “twoim drugim sposobem”, ale w C++. W pytonie są tylko 3 AC, ale to bez znaczenia?
Jest takie równanie:
Program = struktury danych + algorytm
Ale tak naprawdę moim zdaniem to:
Mikro Program AC na SPOJU = język programowania + algorytm dostosowany do języka + efektywność zakodowania algorytmu + casami chytre sztuczki programistyczne + struktury danych [czasami chytrze użyute] … itd
Twój pierwszy sposób jest nie tylko bardzo nieefektywnym algorytmem [sposobem] ale dodatkowo nieefektywnie zakodowanym. Jednak nawet różne drobne poprawki i sztuczki i tak dalej będą powodowały TLE. Na przykład do wyszukiwania trzeciego, brakującego punktu użycie liczenia i porównania wielkości pola na danych typu float zamiast int.
Jeżeli IleSposobów = algorytm * sposób zakodowania * struktury danych, to tych sposobów może być naprawdę sporo. Na przykład wyznaczanie otoczki wypukłej [trójkątnej] ale to sosób porównywalny czasowo do twojego pierwszego. Jak napisałem wyżej znam i użyłem sposobu nr 2.
Aby nabyć biegłości w posługiwaniu się narzędziami [język, struktury danych, debuger itd…] należy ćwiczyć, zaczynając od łatwych problemów i warto aby inna osobo sprawdzała twoje rozwiązania i nawzajem - programowanie 2 osobowe, ale nie wspólne rozwiązywanie jednego problemu. Z góry zaznaczam, że ja nie jestem fanem pythona