Warunki uczestnictwa
Korzystając z Serwisu SPOJ Użytkownik akceptuje obowiązujące na nim zasady.
Nie wolno w Serwisie SPOJ zamieszczać:
- materiałów łamiących prawo autorskie,
- materiałów propagujących piractwo fonograficzne lub komputerowe,
- materiałów pornograficznych,
- plików zainfekowanych wirusami,
- wszelkich innych materiałów naruszających jakiekolwiek dobra Serwisu SPOJ, jego właściciela lub osób trzecich, w tym innych użytkowników,
- linków do witryn internetowych powszechnie zabronionych przez polskie prawo,
- linków do witryn internetowych, które są potencjalnie niebezpieczne lub mogą zawierać wirusy,
- elementów zawartości dostarczanych przez osoby trzecie bez należytej weryfikacji, w tym reklam kontekstowych i elementów treści z serwisów zewnętrznych.
Użytkownik zobowiązuje się do wykorzystania Serwisu SPOJ zgodnie z obowiązującymi w Polsce przepisami prawa, normami społecznymi i obyczajowymi, postanowieniami niniejszego Regulaminu oraz zasadami współżycia społecznego w Internecie, a w szczególności do:
- niepodejmowania działań mających na celu uzyskanie danych osobowych, haseł dostępowych innych użytkowników,
- niepodejmowania działań i przekazywania danych do Serwisu SPOJ, które mogłyby utrudnić jego funkcjonowanie,
- wykorzystania dyskowych, obliczeniowych i sieciowych zasobów serwerów Serwisu SPOJ w sposób racjonalny i zgodny z ich przeznaczeniem w Serwisie SPOJ,
- niewykorzystywania, kopiowania i rozpowszechniania zamieszczonych w Serwisie SPOJ uzyskanych danych osobowych i innych danych chronionych prawem autorskim, bez uprzedniej zgody Użytkownika, który jest ich właścicielem,
- nieużywania serwisu SPOJ do własnych celów komercyjnych, na przykład dla promocji produktów, usług, umieszczania reklamy lub prowadzenia sprzedaży,
- nieużywania serwisu SPOJ jako kanału dystrybucyjnego, do celów promocyjnych ani komercyjnych (np. łańcuszków szczęścia, junk mail, spam itp.),
- nie spamowania i nie floodowania w całym serwisie SPOJ.
Korzystanie z Serwisu SPOJ w celach niekomercyjnych jest bezpłatne. Każde zastosowanie przez Użytkownika Serwisu SPOJ w celach komercyjnych wymaga odrębnej umowy ze Sphere Research Labs.
Sphere Research Labs szanuje prawo Użytkowników do ich własności intelektualnej. W szczególności, nie następuje przeniesienie praw materialnych do danych prywatnych Użytkownika, kodów źródłowych i innych materiałów przesłanych do Serwisu SPOJ, o ile Użytkownik nie postanowi inaczej.
Sphere Research Labs zastrzega sobie prawo do publikowania, kopiowania i rozpowszechniania materiałów zamieszczonych w Serwisie SPOJ dostępnych dla wszystkich Użytkowników z poszanowaniem praw autorskich.
Użytkownik zgadza się na wykorzystywanie wszelkich danych umieszczonych w Serwisie SPOJ do celów statystycznych, a także do wykorzystania i przetwarzania danych statystycznych przez Sphere Research Labs.
Każdy Użytkownik może w dowolnym momencie zrezygnować z użytkowania Serwisu SPOJ.
Sphere Research Labs zobowiązuje się do zapewnienia możliwie najwyższej jakości świadczonych usług, nie ponosi jednak żadnej odpowiedzialności za zakłócenia w funkcjonowaniu Serwisu SPOJ, nawet jeśli spowodowałyby one utratę danych na Kontach Użytkowników. Serwis SPOJ nie jest w zamierzeniu repozytorium danych i Sphere Research Labs nie zobowiązuje się do udostępniania do wglądu jakichkolwiek materiałów zamieszczonych w Serwisie SPOJ, z wyłączeniem danych osobowych Użytkownika.
Sphere Research Labs nie ponosi żadnej odpowiedzialności za czasową niemożność korzystania przez Użytkowników z Serwisu SPOJ.
Nadsyłanie rozwiązań
Zadania podzielone zostały na cztery1 kategorie: łatwe, średnie, trudne i challenge. Aby nadesłać rozwiązanie należy korzystając z zakładki zgłaszanie wkleić (lub podać ścieżkę dostępu) kod rozwiązania, wpisać właściwy kod zadania oraz wybrać język. Po zgłoszeniu rozwiązania można sprawdzić jego status. Nadsyłane programy będą kompilowane i uruchamiane w automatycznym środowisku testowym pracującym pod systemem Linux. Programy muszą trzymać się dokładnie zadanej specyfikacji wejścia. Rozmiar nadsyłanego pliku z kodem źródłowym jest ograniczony do 50 tysięcy bajtów w jednym pliku2. Nie jest dopuszczalne korzystanie z niestandardowych bibliotek lub plików zewnętrznych. Dopuszczalny czas działania programu jest ograniczony dla każdego zestawu testowego. Ograniczenie jest nie mniejsze niż 1s i dobrane w taki sposób, aby rozwiązanie zestawu było możliwe. Rozwiązania zadań będą sprawdzane na jednakowych komputerach PIII 750 MHZ. Pamięć dostępna dla programu jest nie mniejsza niż 64MB i wystarczająca do rozwiązania zadania w każdym z dopuszczonych języków. Program powinien obsługiwać standardowe wejście oraz standardowe wyjście. Oba strumienie (pliki) są dostępne w wielu językach. Na przykład, można wykorzystać funkcje scanf/printf w języku C czy cin/cout w języku C++.
Możliwe odpowiedzi systemu na wysłanie rozwiązania
W statusie nadesłanego rozwiązania może znaleźć się opis ogólny dotyczący błędów lub wyniku rozwiązania lub szczegółowy (po
kliknięciu na odsyłacz). W chwili obecnej w systemie SPOJ dostępne są następujące warianty odpowiedzi systemu:
AC - accepted (zaakceptowano) - program prawdiłowo zakończył
działanie i zwrócił poprawny wynik
WA - wrong answer (błedna odpowiedź) - program poprawnie
zakończył działanie, zwrócił jednak błedny wynik
TLE - time limit exceeded (przekroczono limit czasu) - kompilacja
programu zakończyła się powodzeniem, jednakże program podczas wykonywania
przekroczył dopuszczalny limit czasu
CE - compilation error (błąd kompilacji) - program nie może
skompilowac się, komunikat o błędzie jest dostępny pod linkiem 'błąd
kompilacji'
RE - runtime error (bład wykonania) - program poprawnie się
skompilował, jednak działanie programu zostało przerwane jednym z sygnałów:
- SIGSEGV (signal 11) - "segmentation fault", najczęstszy błąd (przekroczenie
dozwolonego obszaru pamięci, etc...);
- SIGXFSZ (signal 25) - "output limit exceeded", przekroczony limit rozmiaru
wyjścia;
- SIGFPE (signal 8) - "floating point error", dzielenie przez zero;
- SIGABRT (signal 6) - błąd podczas wykonywania funkcji assert;
- NZEC (non-zero exit code) - program zwrócił kod błedu, różny od zera;
- inny - inny rodzaj błędu;
Zasady przydzielania punktów
Punkty za rozwiązanie zadania przydzielane są w zależności od kategorii zadania:
- łatwe: 1 pkt,
- średnie: 2 pkt,
- trudne: 3 pkt,
- challenge: (wynik_najlepszy / wynik_Twojego_programu) * 4 pkt, ponadto za najlepsze rozwiązanie przyznawany jest dodatkowy punkt (lub odwrotnie dla problemów maksymalizacyjnych).
Rankingi
Każdy z uczestników może zobaczyć swój dorobek punktowy w rankingu. Dodatkowo można porównać wynik najlepszych dziesięciu3 uczestników z danego miasta (wpisanego w polu: Informacje dla organizatorów w zakładce moje konto) oraz szkoły (wpisanej w polu: Instytucja/szkoła w zakładce moje konto).
Inne
Każdy uczestnik może zgłaszać rozwiązania dowolną liczbę razy, ponadto w żaden sposób nie ogranicza się praw rozwiązywania zadań przez ich autorów (można śmiało rozwiązywać własne zadania). Osoby zainteresowane uzyskaniem uprawnień autora zadań proszone są o kontakt na adres: contact[at]spoj.pl. Osoby zarządzające konkursem POLSKI SPOJ nie ponoszą odpowiedzialności za wykorzystanie przez osoby trzecie rozwiązań nadesłanych zadań (w szczególności przez autorów zadań, np. w celach dydaktycznych). Dostępność języków programowania jest ograniczana przez autorów zadań, w ramach konkursu nie są stosowane żadne ograniczenia. Wszelkie uwagi dotyczące konkursu, zadań, rankingu, etc... prosimy zglaszać na forum.
Konkursem zarządza Sphere Research Labs wraz z Marcinem Sasinowskim.(1) kategorie zadań mogą zostać w przyszłości zmienione (2) o ile autor zadania nie zmieni limitu (3) liczba uczestników może zostać zwiększona lub zmniejszona