Regulamin

  1. Cel AlgoLigi:
    1. Głównym celem AlgoLigi jest umożliwienie użytkownikom systemu Sphere Online Judge (SPOJ) podnoszenia swoich umiejętności poprzez udział w konkursach programistycznych oraz ich współorganizację. Zamierzonym efektem tych działań jest rozwój społeczności związanej z polską wersją platformy SPOJ.
  2. Organizacja AlgoLigi:
    1. Rozgrywki AlgoLigi składać się będą z jednego albo większej liczby konkursów programistycznych nazywanych również rundami.
    2. Organizatorem rundy może zostać dowolna osoba albo grupa osób, która zgłosi taką chęć koordynatorom AlgoLigi. W związku z powyższym organizatorami zawodów mogą zostać również aktualni uczestnicy rozgrywek.
    3. Organizatorzy każdego z konkursów muszą się stosować do wymagań (głównie technicznych) określonych przez koordynatorów AlgoLigi.
    4. Terminy kolejnych rund będą zamieszczone w dziale wiadomości na stronie AlgoLigi w systemie SPOJ. Każdy konkurs ogłaszany będzie co najmniej z tygodniowym wyprzedzeniem.
  3. Przebieg zawodów (rundy AlgoLigi):
    1. Przewidywany czas trwania rundy wynosić będzie 32 godziny.
    2. Na początku zawodów zostanie przedstawionych 8-12 nowych zadań algorytmicznych do rozwiązania.
    3. W szczególnych przypadkach liczba zadań oraz czas trwania rundy mogą ulec zmianie o czym zawodnicy będą informowani przy okazji ogłoszenia terminu zawodów.
    4. Rozwiązania zadań można nadsyłać do czasu zakończenia danej rundy.
    5. Podczas trwania zawodów dostępny będzie ranking zawodników.
  4. Uczestnicy:
    1. Udział w zawodach może wziąć każdy zarejestrowany użytkownik systemu SPOJ (rejestracja jest bezpłatna).
  5. Wysyłanie i ocenianie rozwiązań w trakcie zawodów (rundy AlgoLigi):
    1. Treści zadań sformułowane są w języku polskim.
    2. Rozwiązania zadań w postaci kodów źródłowych zawodnicy przesyłają za pomocą formularza na stronie zawodów w systemie SPOJ.
    3. Uczestnicy zobowiązują się do samodzielnego rozwiązywania zadań oraz nie udzielania jakiejkolwiek pomocy innym zawodnikom (np. poprzez udostępnianie kodów źródłowych rozwiązań).
    4. Każde rozwiązanie zgłoszone do oceny uruchamiane jest dla kilku testów. Wynik każdego testu jest zaakceptowany albo odrzucony. Test zostaje zaakceptowany gdy zgłoszone rozwiązanie działa w wyznaczonych limitach czasowych i pamięciowych oraz wypisuje poprawne odpowiedzi zgodnie ze specyfikacją podaną w treści zadania. Rozwiązanie zostaje zaakceptowane gdy zaakceptowane zostaną wyniki wszystkich testów, dla których zostało uruchomione. Jeżeli rozwiązanie nie zostanie zaakceptowane zawodnik otrzyma jeden z poniższych komunikatów określający przyczynę:
      • Błąd kompilacji (CE)
      • Błąd wykonania (RE)
      • Przekroczono limit czasu (TLE)
      • Błędna odpowiedź (WA)
    5. O wyniku każdego zgłoszonego rozwiązania zawodnicy dowiadują się bezpośrednio po jego wysłaniu.
    6. Zawodnik otrzymuje za każde rozwiązane zadanie 1 punkt.
    7. Za każde błędne zgłoszenie do zadania wysłane przed zgłoszeniem zaakceptowanym uczestnik otrzymuje 20 minut karnych, które są doliczane do jego sumarycznego czasu rozwiązania wszystkich zadań.
    8. Ranking zawodników ustalany jest na podstawie ilości zdobytych punktów (im więcej punktów tym wyższa pozycja). W przypadku gdy dwóch albo większa liczba zawodników ma tyle samo punktów pod uwagę brany jest sumaryczny czas rozwiązania zaakceptowanych zadań (im mniejszy czas tym wyższa pozycja).
  6. Szczegóły techniczne:
    1. Każde rozwiązanie zadania musi składać się z pojedynczego pliku zawierającego kod źródłowy w jednym z języków programowania dostępnych w systemie SPOJ.
    2. Limity czasowe zostały ustalone na bazie rozwiązań wzorcowych napisanych w językach C/C++. Organizatorzy nie gwarantują, że ustalone limity czasowe będą wystarczające dla wszystkich dostępnych języków programowania.
    3. W językach C/C++ i pochodnych zabronione jest używanie tzw. szybkiego wejścia/wyjścia, czyli własnoręcznie napisanych funkcji wczytujących dane szybciej niż scanf/printf oraz cin/cout. Ma to na celu wykluczenie sytuacji, w których zaakceptowane zostają rozwiązania o słabszej złożoności obliczeniowej niż rozwiązanie wzorcowe.
    4. Lista kompilatorów oraz interpreterów jakie będę używane podczas zawodów dostępna jest w systemie SPOJ pod adresem http://www.spoj.pl/ranks/languages/
    5. Skompilowane programy nie mogą
      • Odczytywać lub zapisywać danych z plików/strumieni innych niż standardowe wejście/wyjście.
      • Tworzyć procesów potomnych ani wątków.
    6. Limity czasowe są jawne i zostaną określone w treści zadań.
    7. Domyślny limit pamięci dla wszystkich zadań wynosi 1536MB. W przypadku gdy limit pamięci różni się od domyślnego zostanie to jawnie określone w treści zadania.
    8. Kod źródłowy programu nie może być większy niż 50000B.
    9. Programy powinny wczytywać dane ze standardowego wejścia i wypisywać wyniki na standardowe wyjście.
    10. Dane wczytywane są zawsze poprawne, czyli zgodne ze specyfikacją wejścia podaną w treści każdego z zadań.
  7. Inne:
    1. Ewentualne spory dotyczące oceny rozwiązań rozstrzygają koordynatorzy AlgoLigi, ich ustalenia są ostateczne i nie podlegają apelacji.
    2. Organizatorzy zastrzegają sobie prawo dokonania ponownej kompilacji i oceny rozwiązania zadania przesłanego wcześniej.
    3. Organizatorzy zastrzegają sobie możliwość zmiany regulaminu.
    4. Uczestnicy nieprzestrzegający regulaminu mogą zostać zdyskwalifikowani.
    5. Zespół koordynatorów AlgoLigi składa się z następujących osób:
      • Adam Bąk
      • Mieczysław Bejnar
      • Maciej Boniecki
      • Witold Długosz
      • Marcin Kasprowicz
      • Piotr Kąkol
      • Mariusz Śliwiński
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.