Pravilnik

Splošni del

1. člen

(Vsebina pravilnika)

Pravilnik o tekmovanju ACM Univerzitetni programerski maraton (v nadaljevanju Tekmovanje), določa:

  • cilje Tekmovanja,
  • etape Tekmovanja in udeležbo,
  • vodenje in organiziranje Tekmovanja,
  • razpis Tekmovanja,
  • pripravo nalog,
  • izvedbo Tekmovanja,
  • organizacijo izvedbe Tekmovanja in tekmovalni red,
  • podeljevanje priznanj in nagrad,
  • navodila za sestavo predloga za udeležbo univerzitetnih ekip na ACM ICPC CERC ter
  • financiranje Tekmovanja.

V pravilniku uporabljeni nazivi, zapisani v moški slovnični obliki, so uporabljeni kot nevtralni za moške, ženske in neopredeljene.

2. člen

(Cilji Tekmovanja)

Cilji tekmovanja so študentom in tudi ostalim ponuditi možnost izboljševanja in dokazovanja sposobnosti reševanja problemov, programiranja ter razvijanja izkušenj pri skupinskem delu. Tekmovanje predstavlja stično točko za akademski svet in gospodarstvo. Poleg tega naj bi Tekmovanje spodbudilo pozornost javnosti na naslednje generacije računalniških strokovnjakov, ki si prizadevajo za odličnost.

3. člen

(Spletna stran Tekmovanja)

Uradna spletna stran Tekmovanja je http://tekmovanja.acm.si/upm. Ta pravilnik je javno objavljen na spletni strani Tekmovanja.

Etape Tekmovanja in udeležba

4. člen

(Etape Tekmovanja)

Tekmovanje poteka v dveh etapah:

  • dva do pet predkol in
  • finalno kolo.

V nadaljevanju se posamezno predkolo in finalno kolo imenuje kolo.

Programski svet vsako leto razpiše Tekmovanje. Predkola so izbor za nastop na finalnem kolu.

V kolikor zmožnosti dopuščajo, organizator pred prvim kolom izvede poskusno kolo. Uspeha ekip na poskusnem kolu se ne nagrajuje, prav tako pa dosežki ne prispevajo k točkam ekipe. Namen poskusnega kola je, da se tekmovalci seznanijo s sodniškim sistemom in načinom tekmovanja. Na poskusnem kolu se praviloma uporabi izbor nalog iz prejšnjih let Tekmovanja.

Finalno kolo se izvaja na enem mestu. Praviloma se mesto finalnega kola krožno menja med sodelujočimi univerzami.

5. člen

(Sestava ekip)

Tekmujejo tričlanske ekipe. Izjemoma na podlagi pisne prošnje z utemeljitvijo vodja Tekmovanja odobri udeležbo dvo- oz. enočlanskih ekip. Vsaka ekipa imenuje svojega kapetana, ki je nosilec pravic te ekipe.

Za univerzitetno ekipo šteje tista ekipa, ki jo sestavljajo izključno člani iste univerze. Tekmovalec se šteje za člana univerze, če ima status študenta te univerze v času prijave na Tekmovanje ali v času finalnega kola.

Sestava ekipe se med koli lahko spreminja, vendar le z odobritvijo vodje Tekmovanja in to najkasneje teden dni pred posameznim kolom. Predlog z obrazložitvijo za zamenjavo članov ekipe poda kapetan. Če od Tekmovanja odstopi kapetan, ekipa na poziv vodje Tekmovanja imenuje novega kapetana.

Vsa pojasnila in tolmačenja glede sestave ekip so v pristojnosti Programskega sveta Tekmovanja.

6. člen

(Prostovoljnost sodelovanja)

Sodelovanje na Tekmovanju je prostovoljno.

7. člen

(Pravica udeležbe na Tekmovanju)

Tekmovanje je odprtega tipa. V ekipah ne smejo sodelovati posamezniki, ki so udeleženi pri pripravi tekmovalnih nalog. V primeru dvoumnosti o pravici udeležbe razsodi Programski svet Tekmovanja.

8. člen

(Bonton UPM)

Udeleženci tekmovanja morajo spoštovati bonton UPM:

  • Bodite spoštljivi do drugih. To med drugim vključuje, da ste prijazni, ne motite drugih ekip, se primerno obnašate, spoštujete navodila organizatorjev in ne uporabljate sovražnega govora v svojih uporabniških imenih, oddajah, sporočilih na forumu ipd.
  • Namen programske kode mora biti reševanje nalog, neposredno ali posredno. Oddaja delnih rešitev, testiranje obnašanja sistema, merjenje porabljenega spomina in časa so dovoljene. Ne oddajajte kode, ki je namenoma napisana tako, da skriva svoj namen.
  • Ne zlorabljajte sodniškega sistema. Poskusi vdora v sodniški sistem ali druge vrste napadi, kot npr. prekomerno zaporedno oddajanje rešitev z namenom zamašitve sistema, ne bodo tolerirani. Pri tem razumemo, da je oddajanje veliko rešitev v zadnjih minutah tekmovanja normalno in ne bo nikoli obravnavano kot poskus zlorabe.
  • Opozarjajte nas na težave. Če opazite tehnične napake, vsebino, ki ni v skladu z bontonom, ali imate druge težave, nas prosim obvestite, da raziščemo in primerno ukrepamo.

Programski svet ima pravico opozoriti, in v skrajnem primeru diskvalificirati, ekipo, ki se ne drži bontona UPM.

Vodenje in organiziranje Tekmovanja

9. člen

(Programski svet in imenovanje članov)

Tekmovanje strokovno in vsebinsko vodi Programski svet Tekmovanja, ki ga sestavljajo predsednik in najmanj 5 članov. V Programskem svetu sodeluje vsaj po en predstavnik vsake izmed sodelujočih univerz.

Sestavo (in zamenjavo članov) Programskega sveta predlaga predsednik Programskega sveta in jo potrdi Komisija za tekmovanja pri ACM Slovenija. Predlog za zamenjavo članov in predsednika Programskega sveta poda sam predsednik Programskega sveta ali Komisija za tekmovanja pri ACM Slovenija.

Naloge Programskega sveta so:

  • pripravi nalog za Tekmovanje;
  • po izteku pritožbenega roka potrdi uradne rezultate Tekmovanja in poskrbi za njihovo objavo;
  • določi vrstni red tekmovalcev po uspehu in ga potrdi;
  • poskrbi za poročilo o Tekmovanju za Komisijo za tekmovanja ACM Slovenija.

10. člen

(Organizator Tekmovanja in Organizacijski odbor)

Tekmovanja organizira društvo ACM Slovenija. Izvedbo posameznega kola vodi in usmerja Organizacijski odbor.

V Organizacijskem odboru je vsaj po en član iz vsake sodelujoče univerze. Poleg tega je v Organizacijskem odboru še predsednik Programskega sveta in predsednik Komisije za tekmovanja ACM Slovenija. Člani Organizacijskega odbora izmed sebe izvolijo predsednika.

Naloge Organizacijskega odbora so:

  • na osnovi števila prijavljenih ekip na Tekmovanje zagotovi ustrezno število delovnih mest in izvodov tekmovalnih nalog;
  • izvedba kola vključno z nadzorom tekmovalcev v prostorih, kjer poteka reševanje nalog;
  • razglasi vrstni red tekmovalcev in podeli priznanja ter nagrade;
  • poskrbi za arhiviranje tekmovalne dokumentacije.

11. člen

(Sodniški sistem in Sodniki)

Sodniški sistem je informacijsko-komunikacijski sistem, katerega naloga je podpora pri ocenjevanju izdelkov tekmovalcev in podpora pri komunikaciji s tekmovalci na posameznem kolu.

Sodniški sistem nadzorujejo Sodniki, ki jih pred vsakim kolom imenuje Programski svet Tekmovanja. V sodniški ekipi mora biti vsaj en član Programskega sveta, ki je seznanjen z nalogami tega kola. Naloge sodnikov so:

  • skrbijo za pregled in ovrednotenje izdelkov tekmovalcev;
  • odgovarjajo na vprašanja tekmovalcev;
  • jamčijo za pravilnost neuradnih rezultatov posameznega kola.

12. člen

(Udeležba na ACM ICPC CERC)

Programski svet po izvedenem finalnem kolu v roku 7 delovnih dni univerzam predlaga, katere ekipe naj se udeležijo tekmovanja ACM ICPC CERC. Z vsake univerze predlaga vsaj po eno univerzitetno ekipo. Ta ekipa je prvak te univerze, v kolikor njeni člani izpolnjujejo vse pogoje za udeležbo na ACM ICPC CERC. Poleg tega lahko Programski svet predlaga posameznim univerzam tudi udeležbo dodatnih ekip in njihovo sestavo.

Razpis Tekmovanja

13. člen

(Razpis Tekmovanja)

ACM Slovenija na predlog Programskega sveta objavi razpis Tekmovanja najkasneje do konca meseca marca v tekočem letu. Razpis se javno objavi na uradni spletni strani Tekmovanja.

14. člen

(Vsebina razpisa)

Razpis Tekmovanja obsega:

  • datum izvedbe posameznih predkol;
  • kraj izvedbe finalnega kola;
  • rok prijave na Tekmovanje;
  • vodjo Tekmovanja za tekoče leto;
  • povezavo do pravilnika Tekmovanja;
  • programske jezike Tekmovanja;
  • povezava na spletno stran z opisom okolja Tekmovanja;
  • morebitne dodatne panoge Tekmovanja, ki so v tekočem letu razpisane poleg Tekmovanja.

15. člen

(Prijava na Tekmovanje)

Prijavljanje je omogočeno preko spletnega obrazca na uradni spletni strani Tekmovanja.

Od osebnih podatkov tekmovalec ob prijavi navede svoje ime, priimek, elektronski naslov in, če ima status študenta, univerzo, na kateri študira.

Skupaj s prijavo ekipe vsi člani ekipe dovolijo javno objavo rezultatov in fotografij s Tekmovanja.

Priprava nalog

16. člen

(Priprava nalog)

Tekmovalne naloge ter rešitve nalog pripravi Programski svet. Besedila nalog so bodisi v slovenščini, bodisi v angleščini.

17. člen

(Tajnost nalog)

Programski svet je odgovoren za tajnost nalog do začetka reševanja nalog.

18. člen

(Objava nalog in uradnih rešitev)

Naloge z uradnimi rešitvami se praviloma javno objavijo na spletni strani Tekmovanja po zaključku kola.

19. člen

(Hranjenje izdelkov)

Organizacijski odbor hrani izdelke s Tekmovanja vsaj eno leto, nato pa, če je to potrebno, zagotovi uničenje le-teh.

Izvedba Tekmovanja

20. člen

(Trajanje kol)

Reševanje nalog na posameznih predkolih traja med 180 in 300 minutami, kar za posamezno predkolo določi Programski svet. Reševanje nalog na finalu praviloma traja 300 minut.

21. člen

(Programski jeziki Tekmovanja in tekmovalno okolje)

Programski jeziki Tekmovanja vključujejo Javo in C/C++. Ob razpisu lahko Programski svet določi dodatne programske jezike.

Programski svet zagotavlja, da je vse naloge pri danih omejitvah (časa in pomnilnika) mogoče rešiti v jezikih C/C++ in Java. Za dodatne jezike to ne velja nujno.

Ekipa lahko uporablja samo en, v ta namen določen tekmovalni sistem (računalnik) v konfiguraciji, kot jo pripravi Organizacijski odbor. Kakršnokoli kršenje tega pravila (na primer priklop drugih naprav v tekmovalni sistem) se praviloma kaznuje z diskvalifikacijo ekipe.

22. člen

(Oddaja nalog)

Ekipa naloge rešuje tako, da na sodniški sistem odda izvorno kodo rešitve v podprtem programskem jeziku. Za rešeno nalogo se šteje tista, katere koda da pravilen rezultat na ekipi neznanem naboru testnih podatkov. V primeru napake sodniški sistem ekipi sporoči, za katero vrsto napake gre. Ekipa lahko rešitev iste naloge odda večkrat. Odzivi, ki jih sporoča sodniški sistem, vključujejo:

  • Wrong answer – program vrne rezultate, ki se razlikujejo od pričakovanih;
  • Compile error – program se ni prevedel;
  • Runtime error – program je med izvajanjem povzročil napako (to vključuje sesutje programa, proženje izjem in prekoračitev omejitve pomnilnika);
  • Time limit exceeded – program se izvaja predolgo;
  • Accepted – program je sprejet, naloga je rešena.

23. člen

(Spraševanje med Tekmovanjem)

Tekmovalci lahko med Tekmovanjem postavljajo vprašanja v zvezi z nalogami, vendar le z uporabo sodniškega sistema. Sodniki se lahko odločijo, da bodo vprašanje in odgovor posredovali vsem ekipam.

24. člen

(Dovoljeni pripomočki)

Na tekmovanju je dovoljeno gradivo v papirni obliki. Uporaba lastne strojne opreme ni dovoljena. Sodniki lahko posamezni ekipi dovolijo uporabo lastne tipkovnice in/ali miške, ki pa jo mora ekipa dati v pregled sodnikom vsaj pol ure pred začetkom posameznega kola.

Uporaba interneta ni dovoljena, razen za dostop do sodniškega sistema.

25. člen

(Nadzorne osebe)

Potek posameznega kola praviloma nadzoruje v vsakem prostoru vsaj po ena nadzorna oseba. Nadzorne osebe imenuje Organizacijski odbor.

26. člen

(Ocenjevanje in razvrstitev)

Na posameznem predkolu ekipa dobi po eno točko za vsako pravilno rešeno nalogo. V primeru enakega števila točk se razvrstitev na predkolu določi glede na skupni čas. Skupni čas je seštevek časov pravilno rešenih nalog. Čas naloge se šteje od začetka kola do trenutka, ko je ekipa oddala pravilno rešitev za to nalogo. Za vsako nepravilno oddajo te naloge se k času naloge doda 20 minut. V primeru enakega števila točk in enakega skupnega časa se razvrstitev določi glede na čas oddaje zadnje pravilno rešene naloge na kolu (boljša je tista ekipa, ki prej zaključi).

Za uvrstitev na finalno kolo šteje seštevek točk dveh najboljših predkol, razen, če Programski svet Tekmovanja ob razpisu ne določi drugače. V primeru enakega seštevka točk se upošteva seštevek skupnih časov pripadajočih predkol.

Na finalnem kolu ekipa dobi po dve točki za pravilno rešeno nalogo. Skupni čas finala se šteje enako kot na predkolih.

Končno število točk ekipe je seštevek točk predkol, ki sta se upoštevali pri uvrstitvi na finalno kolo, in točk finalnega kola. Končni skupni čas ekipe je seštevek skupnih časov predkol, ki sta se upoštevali pri uvrstitvi na finalno kolo, ter skupnega časa finalnega kola.

Ekipe se razvrsti glede na končno število njihovih točk. V primeru enakega končnega števila točk se upošteva končni skupni čas. V primeru enakega končnega števila točk in enakega končnega skupnega časa se upošteva čas oddaje zadnje pravilno rešene naloge na finalnem kolu (boljša je tista ekipa, ki prej zaključi).

Na finalno kolo se uvrstijo najboljše tri univerzitetne ekipe iz vsake sodelujoče univerze. Poleg tega vsaki sodelujoči univerzi pripada še dodatno mesto za vsakih 10 ekip s te univerze, ki sodelujejo na predkolih.

Število ekip na finalnem kolu določi Programski svet Tekmovanja v skladu z organizacijskimi zmožnostmi.

27. člen

(Diskvalifikacija)

V primeru nešportnega obnašanja ali kršitev pravilnika na posameznem kolu Programski svet ekipo diskvalificira s tega kola s sklepom, v katerem poda obrazložitev z morebitnimi nadaljnjimi sankcijami. Sklep se vpiše v zapisnik Tekmovanja in sporoči kapetanu ekipe. Sklep je dokončen.

Organizacija izvedbe Tekmovanja in tekmovalni red

28. člen

(Kraj in čas Tekmovanja)

Predkola potekajo hkrati na posameznih sodelujočih univerzah z istimi tekmovalnimi nalogami.

Finalno kolo je enodnevno. Reševanje nalog poteka v prostorih, ki jih zagotovi univerza, kjer poteka finalno kolo. Natančen časovni potek finalnega kola se objavi na spletni strani Tekmovanja najmanj teden dni pred izvedbo finala.

29. člen

(Objava neuradnih rezultatov)

Neuradni rezultati posameznega kola so praviloma objavljeni še isti dan. Neuradni rezultati finala se objavijo na svečani slovesnosti ob zaključku Tekmovanja.

Neuradni rezultati se javno objavijo na spletni strani Tekmovanja.

30. člen

(Pritožbe)

Na neuradne rezultate lahko ekipa vloži pisno pritožbo. V njej navede ime ekipe, kratko utemeljitev ter naslov, kamor želijo prejeti odgovor. Pritožbo morajo vložiti v roku treh dni po kolu, na katerega se nanaša pritožba, in sicer na način naveden na spletni strani Tekmovanja.

Programski svet obravnava pritožbo in sprejme sklep, ki se vpiše v zapisnik Tekmovanja. Sklep pošlje Organizacijski odbor tekmovalcem na naslov, ki ga le-ti navedejo v pritožbi. Sklep Programskega sveta je dokončen.

31. člen

(Objava uradnih rezultatov)

Uradni rezultati posameznega kola so objavljeni v petih delovnih dneh po izteku roka za pritožbe.

Uradni rezultati se javno objavijo na spletni strani Tekmovanja.

Podeljevanje priznanj in nagrad

32. člen

(Podeljevanje nagrad in pokalov)

Na posameznem predkolu dobijo nagrado najboljše tri ekipe.

Na svečani slovesnosti po finalnem kolu dobijo nagrade najboljše tri ekipe v skupni razvrstitvi. Najboljša ekipa v skupni razvrstitvi postane »Prvak UPM« in prejme pokal.

Pokale, nagrade in naziv »Prvak univerze« dobi tudi najboljša univerzitetna ekipa z vsake sodelujoče univerze.

33. člen

(Priznanja in diplome)

Vse na finalu sodelujoče ekipe dobijo priznanje za udeležbo.

Nagrajene ekipe dobijo diplomo, na kateri je napisan tudi dosežek ekipe.

34. člen

(Priprava priznanj in diplom)

Tiskovine za priznanja in diplome pripravi Organizacijski odbor. Vse diplome in priznanja morajo imeti žig ACM Slovenije in morajo biti podpisana s podpisom predsednika komisije za tekmovanja pri ACM Slovenija in predsednika Programskega sveta. Diplome morajo biti oštevilčene. Številčenje je sestavljeno iz letnice Tekmovanja in zaporedne številke diplome na tem Tekmovanju (npr. 2013/1).

Priznanja in diplome natisne Organizacijski odbor.

35. člen

(Evidenca o priznanjih, diplomah in nagradah)

Evidenco o izdanih priznanjih, diplomah in podeljenih nagradah hrani ACM Slovenija.

Financiranje Tekmovanja

36. člen

(Financiranje Tekmovanja)

Prijavnine na Tekmovanje ni. Viri sredstev za izvedbo Tekmovanja so:

  • sredstva, pridobljena z lastno dejavnostjo organizatorja Tekmovanja;
  • prispevki pokroviteljev in donatorjev;
  • sredstva agencij;
  • sredstva, pridobljena s strani ministrstva pristojnega za visoko šolstvo;
  • darila, volila in
  • drugi viri.

37. člen

(Poraba sredstev)

Med stroške Tekmovanja štejemo sredstva, namenjena za:

  • pripravo nalog za tekmovanje,
  • prevode v jezike narodnosti,
  • razmnoževanje nalog in papir,
  • delo Programskega sveta in Organizacijskega odbora,
  • materialne stroške članov Programskega sveta in Organizacijskega odbora (strokovna literatura ipd.),
  • pripravo in pošiljanje razpisov in vabil,
  • pripravo seznamov tekmovalcev in vodenje evidence,
  • priznanja, diplome in pokale,
  • nagrade za tekmovalce,
  • izdelavo in vzdrževanje spletne strani Tekmovanja,
  • vzdrževanje sodniškega sistema,
  • pripravo tekmovalnega okolja,
  • izdelavo in obdelavo anketnih vprašalnikov,
  • delo pri organizaciji in nadzoru,
  • prevoz tekmovalcev na finalno kolo,
  • hrano in pijačo za tekmovalce in organizatorje Tekmovanja in
  • druge izredne stroške.

Navedene postavke so podlaga za pripravo finančnega plana Tekmovanja. Finančni plan sprejme Organizacijski odbor.

38. člen

(Plačilo za delo)

Sodelovanje članov Organizacijskega odbora in Programskega sveta pri pripravi in izvedbi Tekmovanja je prostovoljno in brezplačno.

Prehodne in končne določbe

39. člen

(Tolmačenje pravilnika Tekmovanja)

Za tolmačenje vseh morebitnih nejasnosti pravilnika je pristojen predsednik Programskega sveta, katerega odločitev je dokončna. O vseh zahtevkih za tolmačenje in svoji odločitvi mora predsednik v roku 30 dni poročati Tekmovalni komisiji ACM Slovenija.

40. člen

(Kršenje pravilnika – član Programskega sveta)

Člani Programskega sveta so dolžni upoštevati določila tega pravilnika in navodila predsednika Programskega sveta.

41. člen

(Sprejem pravilnika)

Pravilnik o tekmovanju ACM Univerzitetni programerski maraton sprejme Komisija za tekmovanja pri ACM Slovenija. Spremembe in dopolnitve pravilnika pripravi Organizacijski odbor po svoji pobudi ali na pobudo Programskega sveta.

42. člen

Ta pravilnik začne veljati z dnem, ko ga potrdi Komisija za tekmovanja pri ACM Slovenija. Pravilnik je sprejela Komisija za tekmovanja pri ACM Slovenija, 18. 12. 2020.

Komisija za tekmovanja pri ACM Slovenija
dr. Andrej Brodnik, predsednik