- Czy 0 dzieli się bez reszty przez 6?
- Ten warunek || (sum0 - sum1) == 0 nie jest błędem ale jest nadmiarowy i zbędny .
- Dodaj koniecznie ios_base::sync_with_stdio(0);, bo bez tego tle.
- Pierwszy warunek można uprościć do: if (liczba == "0") // tym razem podwójny cudzysłów.
PS
5. zamiast: if (i % 2 == 0) można: if (i & 1 == 0) lub if (i & 1) + zmiana kolejności bo i & 1 = i%2 == 1
PS 2
6. t_sum jest nadmiarowy i potrzebny jednorazowo Możesz if((sum0 + sum1) % .......)
Ad.1 a czy to ma jakieś znaczenie? jak jest 0 to się ta część kodu nie wykonuje, chyba że odnosi się to do pkt.2, wtedy rzeczywiście "|| (sum0 - sum1) == 0" ta część była zbędna.
Ad.3 Cały czas miałem WA, wiec nie dodałem.
Wskazówki pomocne, jednak cały czas WA.
Edit:
W końcu zaliczone. Wielkie dzięki Narbej za porady Głupie przeoczenie z mojej strony.
witam, sędzia wyrzuca mi złą odpowiedź, pomimo że w wielu testach uzysuję poprawne odpowiedzi
mój kod: https://pastebin.com/rqG4emDY25
zupełnie nie rozumiem, co znaczy, że w wielu testach uzyskujesz poprawne odpowiedzi - czy znasz takie testy dla których uzyskujesz niepoprawne ?
natomiast rozumiem, dlaczego sędzia ci daje WA - powód prosty, nie zrozumiałeś treści zadania, przeczytaj jeszcze raz dokładnie, albo dwa, trzy ... razy, aż do pełnego zrozumienia
PS. istnieje bardzo małe prawdopodobieństwo, że używając Python-a zmieścisz się w czasie - tylko dwa zaliczone rozwiązania nie są C/C++, jedno Pascal, i jedno w ASM
"pomimo że w wielu testach uzysuję poprawne odpowiedzi"
pisząc to miałem po prostu na myśli to, że wprowadzałem wiele liczb podzielnych przez 6,8 czy 343 i program działa bez zarzutu tzn. prawidłowo klasyfikuje to czy liczba jest pozielna przez powyższe wartości czy nie
teraz dopiero zauważyłem dlaczego dostaję WA , jednak warto dokładnie czytac polecenia
udało mi się naprawić błąd i tak jak wspomniałeś używając Pythona nie mieszczę się w czasie (ale spróbuję może to jakos ulepszyć)
Potwierdzam w Pythonie3 nie ma szans tego wykonać, w C++ przeszło z czasem 0.06s
Zastanawia mnie tylko czy osoby które uzyskały 0.00 cudują z very fast i/o czy też mają bardziej zoptymalizowany algorytm. Szkoda, że ten portal nie umożliwia podglądu w kody innych tak jak np. Codewars (oczywiście po uzyskaniu AC). Można byłoby się wiele nauczyć.
… fazy księżyca, plam i wybuchów na słońcu, układ planet i gwiazd … i wiele innych zjawisk na niebie i ziemi o których nawet filozofom się nie śniło!
A tak na serio Spoj “działa” nie na systemie RTS ale na [nie]zwykłym linuxie, wielozadaniowym i wieloużytkownikowym systemie z wywłaszczniem zadań i zasobów itd itp, więc takie zjawiska nie powinny być chyba dziwne. Dodatkowo zmiany hardware i software [nowsze wersje kompilatorów i bibliotek] też wpływają na wynikowy kod i na czas działania czasami na plus a czasami na minus.
Podglądanie nie jest najlepszą metodą nauki. Inni piszą kody po to aby uzyskać AC a nie aby były wzorcowe jako podstawa do nauki programowania. Przez pewien czas była taka możliwość, podglądania, na portalu Mariusza. Nie wystarczy tylko sama chęć obejrzenia kodu i uzyskanie AC. Musi jeszcze być zgoda autora kodu. A na samym spoju taka możliwość jest w gałęzi podstawy programowania.
Innym sposobem jest po prostu napisanie własnego zadania i wstawienie go tu na spoja. Wtedy jako problem setter, w “nagrodę” możesz sobie oglądać wszystkie zgłoszone kody, jeżeli uważasz, że się tą metodą dużo nauczysz. Moim zdaniem lepsza jest metoda książka i jej studiowanie lub guru i jego pomoc. Trochę gortsza to kursy internetowe i fora dyskusyjne, różnej, czasami bardzo marnej jakości.
I jeszcze jedna sprawa. Też jestem stary i gdzieś tam mam zakładki w książce z karty perforowanej [nie taśmy], używałem suwaka logarytmicznego i pisałem jakiś program w Algolu na Odrę. Ale gdy trafiłem na Spoja, a właściwie na forum, to najpierw tylko czytałem, a dopiero dużo póżniej pytałem i proponowałem swoje wynalzki i pomysły. Spoj nie jest portalem edukacyjnym do nauki programowania, tylko do sprawdzania zdobytej wiedzy. Ktoś napisał mi, że przez złe sędziowanie na spoju ktoś tam zraził się do programowania. No i może dobrze. Widocznie do zostania programistą trzeba mieć także odporność na drobne niedogodności. I jeszcze dla malkontentów. Sprawdzcie i porównajcie sobie proszę, jak są oceniane nadsyłane kody na Potyczkach Algorytmicznych, Olimpiadach Informatycznych, także Międzynarodowej, Akademickich Mistrzostwach itd czy innych podobnych tego typu konkursach.
Ja osobiscie wolę i chciałbym aby Spoj w ogóle był i działał tak jak działa jak najdłużej niż zniknął i przestał istnieć. Wiem, że nie jest doskonały, ale może po prostu już się przyzwyczaiłem do drobnych niedogodności Spoja!
Na Codevars to się bardzo sprawdza, dlatego że społeczność ma możliwość oceniania kodów. Jak rozwiążesz zadania masz podgląd na kody innych posortowane od najlepiej ocenionych, co znaczy że w pierwszej kolejności dostajesz najlepsze rozwiązania. Wtedy widzisz jak piszą kody najlepsi, jakich używają algorytmów, jakich i/o, jak nazywają zmienne, jak wygląda czysty dobry kod.
Na spoju możesz 20 lat siedzieć i cały czas będziesz popełniał te same błędy, nie wiedząc nawet że je popełniasz.
Na forum pasja-informatyki inaczej to jest ptzedstawione. Tam jest spoj mocno rekomendowany dla początkujących do nauki algorytmiki. Teraz widzę że jest zupełnie przeciwnie.
"Można pokusić się o stwierdzenie, że czas poświęcony tutaj jest zmarnowany."
Bardzo ostre stwierdzenie uważam, że jest niesprawiedliwe.
Z mojego punktu widzenia SPOJ jest bardzo użyteczny, wiele z niego skorzystałem.
Doceńmy też pracę wielu ludzi, dających od siebie bardzo dużo by SPOJ mógł funkcjonować. Bardzo łatwo jest krytykować