Warunki uczestnictwa

  1. Korzystając z Serwisu SPOJ Użytkownik akceptuje obowiązujące na nim zasady.

  2. 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.

  3. 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:

    1. niepodejmowania działań mających na celu uzyskanie danych osobowych, haseł dostępowych innych użytkowników,
    2. niepodejmowania działań i przekazywania danych do Serwisu SPOJ, które mogłyby utrudnić jego funkcjonowanie,
    3. wykorzystania dyskowych, obliczeniowych i sieciowych zasobów serwerów Serwisu SPOJ w sposób racjonalny i zgodny z ich przeznaczeniem w Serwisie SPOJ,
    4. 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,
    5. 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,
    6. nieużywania serwisu SPOJ jako kanału dystrybucyjnego, do celów promocyjnych ani komercyjnych (np. łańcuszków szczęścia, junk mail, spam itp.),
    7. nie spamowania i nie floodowania w całym serwisie SPOJ.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. Każdy Użytkownik może w dowolnym momencie zrezygnować z użytkowania Serwisu SPOJ.

  9. 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.

  10. 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

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.