Zasady organizacji zawodów XXXII Olimpiady Informatycznej w roku szkolnym 2024/2025

§ 1. Wstęp

Olimpiada Informatyczna, zwana dalej „Olimpiadą”, jest olimpiadą przedmiotową powołaną przez Instytut Informatyki Uniwersytetu Wrocławskiego 10 grudnia 1993 roku. Olimpiada działa zgodnie z rozporządzeniem Ministra Edukacji Narodowej i Sportu z dnia 29 stycznia 2002 roku w sprawie organizacji oraz sposobu przeprowadzania konkursów, turniejów i olimpiad (Dz. U. poz. 125, z późn. zm.). Organizatorem Olimpiady jest Fundacja Rozwoju Informatyki. W organizacji Olimpiady Fundacja Rozwoju Informatyki współdziała z Wydziałem Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego, Instytutem Informatyki Uniwersytetu Wrocławskiego, Katedrą Algorytmiki Uniwersytetu Jagiellońskiego, Wydziałem Matematyki i Informatyki Uniwersytetu im. Mikołaja Kopernika w Toruniu, Wydziałem Automatyki, Elektroniki i Informatyki Politechniki Śląskiej w Gliwicach, Wydziałem Informatyki i Telekomunikacji Politechniki Poznańskiej, Wydziałem Informatyki Politechniki Białostockiej, Wydziałem Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej, Ośrodkiem Edukacji Informatycznej i Zastosowań Komputerów w Warszawie, a także z innymi środowiskami akademickimi, zawodowymi i oświatowymi działającymi w sprawach edukacji informatycznej.

§ 2. Organizacja Olimpiady

  1. Olimpiadę przeprowadza Komitet Główny Olimpiady Informatycznej, zwany dalej „Komitetem”.
  2. Zawody Olimpiady dzielą się na zawody I, II i III stopnia.
  3. W Olimpiadzie mogą brać indywidualnie udział uczniowie czteroletnich liceów ogólnokształcących, pięcioletnich techników, branżowej szkoły I stopnia i branżowej szkoły II stopnia oraz uczniowie klas dotychczasowych szkół ponadgimnazjalnych prowadzonych w szkołach ponadpodstawowych. W Olimpiadzie mogą również uczestniczyć uczniowie szkół podstawowych.
  4. Rozwiązaniem każdego z zadań zawodów I, II i III stopnia jest program (napisany w jednym z następujących języków programowania: C++ lub Python) lub plik z danymi.
  5. Zawody I stopnia mają charakter otwarty i polegają na samodzielnym rozwiązywaniu zadań i nadesłaniu rozwiązań w terminie i w miejscu wskazanym w § 4.
  6. Zawody II i III stopnia polegają na rozwiązywaniu zadań w warunkach kontrolowanej samodzielności. Zawody te odbywają się w ciągu dwóch sesji, przeprowadzanych w różnych dniach. W szczególnie uzasadnionych przypadkach zawody II i/lub III stopnia mogą zostać zorganizowane zdalnie przez Internet.
  7. Do zawodów II stopnia zostanie zakwalifikowanych 400 Uczestników, których rozwiązania zadań I stopnia zostaną ocenione najwyżej. Do zawodów III stopnia zostanie zakwalifikowanych 80 Uczestników, których rozwiązania zadań II stopnia zostaną ocenione najwyżej.
  8. Komitet może zmienić podane liczby zakwalifikowanych Uczestników co najwyżej o 30%.
  9. Podjęte przez Komitet decyzje o zakwalifikowaniu Uczestników do zawodów kolejnego stopnia, zajętych miejscach i przyznanych nagrodach oraz składzie polskiej reprezentacji na Międzynarodową Olimpiadę Informatyczną i inne międzynarodowe zawody informatyczne są ostateczne.
  10. Komitet zastrzega sobie prawo do opublikowania rozwiązań Uczestników, którzy zostali zakwalifikowani do zawodów kolejnego stopnia lub zostali wyróżnieni lub otrzymali tytuł laureata.
  11. Terminarz zawodów:
    1. zawody I stopnia – 14 października – 18 listopada 2024 roku;
    2. ogłoszenie wyników zawodów I stopnia w witrynie Olimpiady – 6 grudnia 2024 roku po godz. 20.00;
    3. zawody II stopnia – 11-13 lutego 2025 roku;
    4. ogłoszenie wyników zawodów II stopnia w witrynie Olimpiady – 21 lutego 2025 roku po godz. 20.00;
    5. zawody III stopnia – 25-28 marca 2025 roku.

§ 3. Rozwiązania zadań

  1. Rozwiązanie każdego zadania, które polega na napisaniu programu, składa się z tylko jednego pliku źródłowego.
  2. Nazwy plików z programami w postaci źródłowej muszą mieć następujące rozszerzenia zależne od użytego języka programowania:
    C++: cpp;
    Python: py.
  3. Szczegółowe informacje dotyczące implementacji, kompilacji i uruchamiania rozwiązań znajdują się w dokumencie Ustalenia techniczne, który stanowi załącznik do niniejszego dokumentu.
  4. Za każde zadanie można zdobyć od 0 do 100 punktów. Zadania są podzielone na podzadania. Rozwiązania oceniane są automatycznie. Jeśli rozwiązaniem zadania jest program, wówczas:
    1. nadesłany program jest kompilowany (poza programami w języku Python) i uruchamiany na pewnej liczbie grup danych testowych;
    2. każda grupa składa się z jednego lub większej liczby testów i ma przypisaną liczbę punktów, które można za nią zdobyć, oraz podzadanie, któremu odpowiada;
    3. w przypadku, gdy wykonanie programu na danym teście nie zakończy się błędem oraz zmieści się w wyznaczonym limicie czasowym i pamięciowym, zostaje sprawdzona poprawność otrzymanej odpowiedzi;
    4. w przypadku poprawnej odpowiedzi – test jest zaliczany; jeśli treść zadania przewiduje warunki częściowej punktacji, test może zostać zaliczony częściowo;
    5. liczba punktów przyznanych za test:
      1. zaliczony – równa jest liczbie punktów przypisanych do grupy, jeśli program zmieści się w połowie limitu czasowego wyznaczonego do testu; w przypadku przekroczenia połowy limitu czasu, liczba punktów za test spada liniowo do zera w miarę zbliżania się do limitu czasowego;
      2. zaliczony częściowo – jest dodatkowo przeskalowana zgodnie z warunkiem opisanym w treści zadania;
      3. niezaliczony – jest równa zeru;
    6. liczba punktów przyznanych za grupę to minimum z liczb punktów przyznanych za testy tej grupy. W szczególności, jeśli którykolwiek z testów w grupie nie zostaje zaliczony, program nie otrzymuje za tę grupę żadnych punktów;
    7. łączna liczba punktów za zadanie to suma liczb punktów przyznanych za wszystkie grupy testów; suma liczb punktów możliwych do zdobycia za wszystkie grupy wynosi 100.
  5. Jeśli rozwiązaniem zadania jest plik z danymi, wówczas ocenia się poprawność danych.
  6. Wynikiem Uczestnika dla każdego zadania jest najwyższy z wyników punktowych jego zgłoszeń do tego zadania.
  7. Należy przyjąć, że dane testowe są bezbłędne i zgodne z podaną w treści zadania specyfikacją wejścia. Dane wyjściowe rozwiązania muszą być zgodne z podaną w treści zadania specyfikacją wyjścia. Jedynymi dopuszczalnymi odstępstwami w danych wyjściowych rozwiązania są białe znaki (spacja, znak tabulacji) na początku i/lub na końcu wiersza, wielokrotne białe znaki (spacja, znak tabulacji) zamiast pojedynczych wewnątrz wiersza oraz białe znaki (spacja, znak tabulacji, znak końca linii) na końcu pliku.
  8. Dane testowe oraz ostateczne wyniki sprawdzania są ujawniane po zakończeniu zawodów danego stopnia.
  9. Limity czasowe są wspólne dla wszystkich dopuszczonych języków programowania i są dobierane względem rozwiązań napisanych w języku C++. To oznacza, że niektóre rozwiązania napisane w języku Python mogą okazać się zbyt wolne ze względu na specyfikę tego języka i wskutek tego otrzymywać niższą punktację niż ich odpowiedniki w języku C++.
  10. Podczas oceniania skompilowane programy będą wykonywane w wirtualnym środowisku uruchomieniowym modelującym zachowanie procesora architektury x86, pod kontrolą systemu operacyjnego Linux. Ma to na celu uniezależnienie mierzonego czasu działania programu od modelu komputera, na którym odbywa się sprawdzanie. Daje także Uczestnikom możliwość wygodnego testowania efektywności działania programów w warunkach oceny. Przygotowane środowisko jest dostępne, wraz z opisem działania, w witrynie Olimpiady, na stronie Środowisko testowe w dziale „Dla uczestników” zarówno dla systemu Linux, jak i Windows.
  11. Każdy Uczestnik jest zobowiązany do zachowania w tajemnicy swoich rozwiązań w czasie trwania zawodów.
  12. Rozwiązania zespołowe, niesamodzielne, niezgodne z „Zasadami Organizacji Zawodów” lub takie, co do których nie można ustalić autorstwa, nie będą oceniane. W przypadku uznania przez Komitet pracy za niesamodzielną lub zespołową Uczestnicy mogą zostać zdyskwalifikowani.

§ 4. Zawody I stopnia

  1. Zawody I stopnia polegają na samodzielnym rozwiązywaniu podanych zadań (niekoniecznie wszystkich) i przesłaniu rozwiązań do Komitetu. Możliwe są tylko dwa sposoby przesyłania zadań:
    1. poprzez System Internetowy Olimpiady, zwany dalej SIO, o adresie http://sio2.mimuw.edu.pl, do 18 listopada 2024 roku do godz. 12.00 (południe). Komitet nie ponosi odpowiedzialności za brak możliwości przekazania rozwiązań przez Internet w sytuacji nadmiernego obciążenia lub awarii SIO. Odbiór przesyłki zostanie potwierdzony przez SIO zwrotnym listem elektronicznym, a Uczestnik przesyłający zadanie jest obowiązany do zachowania tego listu. Brak potwierdzenia może oznaczać, że rozwiązanie nie zostało poprawnie zarejestrowane. W tym przypadku Uczestnik powinien przesłać swoje rozwiązanie za pośrednictwem przesyłki pocztowej. Szczegóły dotyczące sposobu postępowania przy przekazywaniu rozwiązań i związanej z tym rejestracji będą dokładnie podane w SIO;
    2. jedną przesyłką pocztą poleconą, w sposób określony w ust. 2, na adres:
      Olimpiada Informatyczna
      Ośrodek Edukacji Informatycznej i Zastosowań Komputerów
      ul. Nowogrodzka 73,
      02–006 Warszawa,
      tel. 22 626 83 90,
      w nieprzekraczalnym terminie nadania do 18 listopada 2024 roku (decyduje data stempla pocztowego). Wysyłanie rozwiązań pocztą należy traktować jako opcję awaryjną, a ryzyko przekroczenia terminu nadania przesyłki ponosi Uczestnik. Uczestnik ma obowiązek zachować dowód nadania przesyłki do czasu otrzymania wyników oceny. Nawet w przypadku wysyłania rozwiązań przesyłką pocztową poleconą, każdy Uczestnik ma obowiązek założyć konto w SIO. Zarejestrowana nazwa użytkownika musi być zawarta w przesyłce.
  2. Uczestnik przesyłający zadanie przesyłką pocztową poleconą jest obowiązany do umieszczenia rozwiązania wybranych przez siebie zadań za pomocą specjalnego formularza w SIO. Następnie system SIO wygeneruje dokument, który należy wydrukować i wysłać na podany adres. Dopuszczalne jest także przesłanie rozwiązań w postaci plików źródłowych lub plików z danymi przesyłką pocztową poleconą na płycie CD/DVD lub pamięci USB. W przypadku braku możliwości odczytania nośnika z rozwiązaniami, nieodczytane rozwiązania nie będą brane pod uwagę.
  3. Rozwiązania dostarczane w sposób inny niż określony w ust. 1 nie będą przyjmowane.
  4. W trakcie rozwiązywania zadań można korzystać z dowolnych ogólnodostępnych źródeł, w szczególności literatury, kodów źródłowych oraz narzędzi dostępnych w Internecie pod warunkiem podania w rozwiązaniu, w komentarzu, precyzyjnej informacji o wykorzystanych źródłach.
  5. Podczas korzystania z SIO Uczestnik postępuje zgodnie z instrukcjami umieszczonymi w tej witrynie. W szczególności, warunkiem koniecznym do kwalifikacji Uczestnika do dalszych etapów jest podanie lub aktualizacja w SIO wszystkich wymaganych danych osobowych.
  6. Każdy Uczestnik powinien założyć w SIO dokładnie jedno konto. Uczestnicy korzystający z więcej niż jednego konta mogą zostać zdyskwalifikowani.
  7. Rozwiązanie każdego zadania można zgłosić w SIO co najwyżej 25 razy. Po wyczerpaniu tego limitu kolejne rozwiązanie może zostać zgłoszone już tylko przesyłką pocztową poleconą. Rozwiązania, które nie skompilują się poprawnie, wliczają się do podanego limitu.
  8. Rozwiązania zgłoszone przez SIO zostaną skompilowane i sprawdzone na testach przykładowych opisanych w treści zadania, a wyniki tego sprawdzania zostaną udostępnione Uczestnikowi. Nie dotyczy to rozwiązań przesłanych za pomocą formularza do wysyłki przesyłką pocztową poleconą.
  9. W przypadku niektórych zadań Uczestnicy będą mogli poznać wynik punktowy swoich zgłoszeń zaraz po tym, jak ich programy zostaną ocenione przez system. Opcja ta może nie być dostępna w przypadku dużego obciążenia systemu, w szczególności pod sam koniec zawodów.
  10. Do 18 listopada 2024 r. do godz. 12.00 w SIO jest możliwość wykonania uruchomienia próbnego swojego rozwiązania na przesłanym przez siebie teście. W tym przypadku SIO nie sprawdza jednak poprawności wejścia ani wyjścia. Do każdego zadania można wykonać maksymalnie 25 uruchomień próbnych. Uruchomienia próbne nie wliczają się do limitu zgłoszeń i mogą nie być dostępne w przypadku niektórych typów zadań.
  11. W SIO znajdują się odpowiedzi na pytania Uczestników dotyczące Olimpiady. Ponieważ odpowiedzi mogą zawierać ważne informacje dotyczące toczących się zawodów, wszyscy Uczestnicy są proszeni o regularne zapoznawanie się z ukazującymi się odpowiedziami. Dalsze pytania należy przysyłać poprzez SIO. Komitet może nie udzielić odpowiedzi na pytanie z ważnych przyczyn, w szczególności gdy jest ono niejednoznaczne lub dotyczy sposobu rozwiązania zadania.
  12. W SIO znajduje się także dział Forum umożliwiający prowadzenie dyskusji między Uczestnikami. W dziale tym niedozwolona jest dyskusja na temat metod rozwiązania zadań zawodów I stopnia i złożoności obliczeniowych rozwiązań, pod rygorem dyskwalifikacji. Na Forum można publikować programy sprawdzające poprawność odpowiedzi, o ile nie da się ich wykorzystać jako istotny element rozwiązania jakiegoś podzadania.
  13. Udostępnianie i wymiana testów dla zadań zawodów I stopnia może mieć miejsce tylko w dziale Forum. Niedozwolone jest korzystanie z cudzych serwisów sprawdzających rozwiązania tych zadań.
  14. Od piątku 29 listopada 2024 roku poprzez SIO każdy Uczestnik będzie mógł zapoznać się ze wstępną oceną swojej pracy.
  15. Do środy 4 grudnia 2024 roku (włącznie) poprzez SIO każdy Uczestnik będzie mógł zgłaszać uwagi do wstępnej oceny swoich rozwiązań. Reklamacji nie podlega jednak dobór testów, limitów czasowych, kompilatorów i sposobu oceny.
  16. Reklamacje złożone po 4 grudnia 2024 roku nie będą rozpatrywane.
  17. Komitet wyróżni dyplomami najwyżej sklasyfikowanych uczestników zawodów I stopnia z każdego województwa, którzy uzyskali niezerową liczbę punktów podczas tych zawodów, i opublikuje listę wyróżnionych na stronie internetowej Olimpiady.

§ 5. Zawody II i III stopnia

  1. Zawody II i III stopnia polegają na samodzielnym rozwiązywaniu zadań w ciągu dwóch pięciogodzinnych sesji odbywających się w różnych dniach.
  2. Rozwiązywanie zadań konkursowych poprzedzone jest trzygodzinną sesją próbną umożliwiającą Uczestnikom zapoznanie się z warunkami organizacyjnymi i technicznymi Olimpiady. Wyniki sesji próbnej nie są liczone do klasyfikacji.
  3. Zawody II i III stopnia są przeprowadzane za pomocą SIO.
  4. Tryb przeprowadzenia zawodów II i III stopnia jest opisany szczegółowo w Zasadach organizacji zawodów II i III stopnia, które stanowią załącznik do niniejszego dokumentu.

§ 6. Uprawnienia i nagrody

  1. Każdy Uczestnik, który został zakwalifikowany do zawodów III stopnia, zostaje finalistą Olimpiady. Laureatem Olimpiady zostaje uczestnik zawodów III stopnia sklasyfikowany w pierwszej połowie uczestników tych zawodów, którego dokonania Komitet uzna za zdecydowanie wyróżniające się wśród wyników finalistów. Laureaci dzielą się na laureatów I, II i III miejsca. W przypadku bardzo wysokiego poziomu zawodów III stopnia Komitet może dodatkowo wyróżnić uczestników niebędących laureatami.
  2. Zgodnie z art. 44j ustawy z dnia 7 września 1991 r. o systemie oświaty (Dz.U. z 2018 r. poz. 2245, z późn. zm.), laureaci i finaliści Olimpiady otrzymują z danych zajęć edukacyjnych najwyższą roczną ocenę klasyfikacyjną. Uczeń, który tytuł laureata lub finalisty Olimpiady uzyskał po ustaleniu rocznej oceny klasyfikacyjnej z zajęć edukacyjnych, otrzymuje z tych zajęć edukacyjnych najwyższą końcową ocenę klasyfikacyjną.
  3. Zgodnie z art. 44zzh ustawy z dnia 7 września 1991 r. o systemie oświaty (Dz.U. z 2019 r. poz. 1481, z późn. zm.) oraz „Komunikatem Ministra Edukacji i Nauki w sprawie wykazu olimpiad przedmiotowych przeprowadzanych z przedmiotu lub przedmiotów objętych egzaminem ósmoklasisty lub egzaminem maturalnym oraz konkursów dla uczniów szkół i placówek artystycznych w roku szkolnym 2024/2025”, laureaci i finaliści Olimpiady są zwolnieni z egzaminu maturalnego z informatyki. Uprawnienie to przysługuje także wtedy, gdy przedmiot nie jest objęty szkolnym planem nauczania danej szkoły.
  4. Laureaci i finaliści Olimpiady mają ułatwiony lub wolny wstęp do tych szkół wyższych, których senaty podjęły uchwały w tej sprawie, zgodnie z przepisami ustawy z dnia 20 lipca 2018 r. - Prawo o szkolnictwie wyższym i nauce (Dz. U. poz. 1668, z późn. zm.), na zasadach zawartych w tych uchwałach.
  5. Zaświadczenia o uzyskanych uprawnieniach wydaje Uczestnikom Komitet.
  6. Komitet ustala skład reprezentacji Polski na XXXVII Międzynarodową Olimpiadę Informatyczną, XXXII Środkowoeuropejską Olimpiadę Informatyczną, XXXI Bałtycką Olimpiadę Informatyczną, V Europejską Olimpiadę Informatyczną Dziewcząt w 2025 roku oraz inne zawody międzynarodowe na podstawie wyników Olimpiady oraz regulaminów tych zawodów.
  7. Komitet może nagrodzić opiekunów, których praca przy przygotowaniu Uczestnika Olimpiady zostanie oceniona przez ten Komitet jako wyróżniająca.
  8. Wyznaczeni przez Komitet reprezentanci Polski na olimpiady międzynarodowe zostaną zaproszeni do nieodpłatnego udziału w XXVI Obozie Naukowo–Treningowym im. Antoniego Kreczmara, zwanym dalej „Obozem”, który odbędzie się w czasie wakacji 2025 roku. Do nieodpłatnego udziału w Obozie Komitet może zaprosić także innych finalistów, którzy nie są w ostatniej programowo klasie swojej szkoły, w zależności od uzyskanych wyników.
  9. Komitet może przyznawać finalistom i laureatom nagrody, a także stypendia ufundowane z funduszy Olimpiady lub przez osoby prawne lub fizyczne.

§ 7. Przepisy końcowe

  1. Komitet zawiadamia wszystkich uczestników zawodów I i II stopnia o ich wynikach poprzez SIO. Wszyscy uczestnicy zawodów I stopnia będą mogli zapoznać się ze szczegółowym raportem ze sprawdzania ich rozwiązań.
  2. O zakwalifikowaniu ucznia do zawodów II i III stopnia Komitet zawiadamia ucznia oraz dyrektora szkoły, do której uczeń uczęszcza, podając jednocześnie miejsce i termin zawodów.
  3. Uczniowie zakwalifikowani do udziału w zawodach II i III stopnia są zwolnieni z zajęć szkolnych na czas niezbędny do udziału w zawodach; w przypadku organizacji tych zawodów w warunkach kontrolowanej samodzielności mają także zagwarantowane na czas tych zawodów bezpłatne zakwaterowanie, wyżywienie i zwrot kosztów przejazdu.

Witryna Olimpiady: https://oi.edu.pl