Temat: Pytanie

Dzień dobry,

dlaczego po ujawnieniu wyniku w zadaniu problem collatza czyli zadaniu zamkniętym pokazuję mi 10 punktów i z napisu wstępne sprawdzanie ok na zielonym tle, tło zmienia się na żółte. Chodzi o to, że jeszcze nikt go nie ocenił?

Pozdrawiam
???
Chodzi o to, że nie otrzymałeś wszystkich możliwych punktów za zadanie. Takie coś pojawia się dopiero po ujawnieniu wyniku, jak sądzę.
W jednym zadaniu zamkniętym automatycznie dostałem 100 punktów bez ujawniania, a tutaj po tygodniu czekania ujawniłem i mam 10? Ile można było mieć za to zadanie maksymalnie punktów?
Za każde z zadań jest maksymalnie 100 punktów. W tym zadaniu zamkniętym niekoniecznie dostałeś 100 – w zadaniach tego typu nie ma możliwości poznania swojego wyniku z punktowanych testów. Te testy, przy których podczas trwania konkursu możesz zobaczyć wynik ich uruchomienia („OK”, błąd, albo „Przekroczenie limitu czasu”) to testy przykładowe, za które nie ma punktów. Służą one wstępnemu sprawdzeniu, czy program działa w systemie SIO2, daje dobrą odpowiedź i mieści się w czasie przynajmniej dla tych testów.

Jeżeli w zadaniu otwartym ujawnisz wynik, dopiero wtedy kolor może zmienić się na żółty – oznacza on, że otrzymałeś punkty, ale nie wszystkie możliwe do otrzymania za zadanie. Po ujawnieniu liczbę tych punktów możesz oczywiście zobaczyć. Natomiast ZANIM ujawnisz (lub w zadaniu zamkniętym, gdzie nie możesz ujawnić), „Wstępne sprawdzanie: OK” będzie na zielono. Jest to prawdopodobnie zrobione celowo – inaczej uczestnik mógłby określić, czy jego program działa na 100 punktów, czy nie.
Ale dlaczego mam 10 punktów, wszystkie testy jakie sprawdzałem a robiłem ich z 50, to wszystko się zgadzało, więc skąd wynik 10?
Próbowałeś z dużymi wartościami (ale nie większymi niż 1800, bo taki jest podany w zadaniu limit)? Jeśli nie, prawdopodobnie program przekroczył w niektórych testach limit czasu albo liczba na wyjściu była za duża (większa niż 10^18). Możliwe też, jeśli pisałeś w C++, że wartości w ciągu przekraczały zakres, a przez to sam wynik jest błędny.
Czyli, jeśli podam na wejściu 1766, to pogram w 1s ma zwrócić pierwszą liczbę ciągu o długości 1766?
Tak, ale maksymalnie w 10 sekund, a nie w 1 – taki jest podany w zadaniu limit. Program ma zwrócić pierwszą liczbę jakiegokolwiek ciągu o podanej długości – to się zgadza. Ta liczba musi być mniejsza lub równa 10^18 (^ to w tym przypadku oczywiście potęgowanie, a nie XOR). Czy masz jeszcze jakieś wątpliwości?
Z tego co się dowiedziałem ciąg collatza, nie może być dłuższy niż 597. Nie ma po prostu dłuższego. Z treści zadania zrozumiałem, że na wejście może być podana liczba maksymalnie 1800.
Ale niby skąd się dowiedziałeś?