Bitdefender Programming Contest 2024


Bitdefender este un lider recunoscut în domeniul securității IT, care oferă soluții superioare de prevenție, detecție și răspuns la incidente de securitate cibernetică. Milioane de sisteme folosite de oameni, companii și instituții guvernamentale sunt protejate de soluțiile companiei, ceea ce face Bitdefender unul dintre cei mai de încredere experți în combaterea amenințărilor informatice, în protejarea intimității și datelor, a identității digitale și în consolidarea rezilienței la atacuri. Compania a inovat constant în domenii precum antimalware, Internetul Lucrurilor, analiză comportamentală și inteligență artificială, iar tehnologiile Bitdefender sunt licențiate către peste 180 dintre cele mai cunoscute branduri de securitate din lume.

Descriere concurs

Această pagină reprezintă regulamentul concursului Bitdefender Programming Contest. Organizatorii își rezervă dreptul de a modifica regulile; echipele înscrise prin formularul din secțiunea Înscriere vor fi anuntate pe e-mail de eventuale schimbări.

Concursul presupune rezolvarea unui set de 15 probleme de algoritmică, în echipe de câte 3 studenți, similar concursului ICPC . Vor fi premiate primele 10 echipe din clasament, iar echipele clasate sub locul 10 vor fi înscrise la o tombolă unde vor fi acordate 3 premii speciale.

Eligibilitate

Pot participa doar echipe formate din studenți la licență sau masterat, înscriși în anul universitar 2023-2024 la facultăți din România și care nu sunt angajați Bitdefender la data concursului.

Data

Concursul va avea loc duminică, 21 aprilie, în intervalul 10:00-15:00.

Locație

Concursul se va desfașura online, pe platforma HackerRank .

Link concurs: https://www.hackerrank.com/bpc2024

Editorial concurs.

Precondiții

- Participanții vor forma echipe de câte 3 studenți.

- Participanții vor lucra pe propriile sisteme.

- Fiecare echipă își va alege un nume cu care își va face cont pe HackerRank . Acest cont va fi folosit de echipă pentru a trimite soluțiile din concurs. Fiecare membru al echipei va fi logat de pe propriul sistem în contul echipei și va putea trimite soluții de pe acel cont.

Regulament

Echipele au voie să folosească Internetul pe durata concursului, cu următoarele restricții:

- Echipele au voie să folosească doar informații disponibile înainte de începerea concursului (tool-urile AI nu sunt permise)

- Echipele nu au voie să comunice între ele (pentru întrebări folosiți askme.bpc@gmail.com)

- Echipele nu au voie să-și publice soluțiile înainte de încheierea concursului

Premii

Fiecare membru al echipelor câștigătoare va fi premiat, în funcție de locul obținut de echipa sa. Bugetul total de premii în valoare de 41.850 RON este asigurat de către Bitdefender. Acesta va fi distribuit după cum urmează (sub formă de vouchere eMAG): 

- Locul 1: 2000 RON de membru 

- Locurile 2-3: 1500 RON de membru 

- Locurile 4-6: 1250 RON de membru 

- Locurile 7-10: 1000 RON de membru 

- 3 premii prin tragere la sorți (tombolă) pentru echipele aflate mai jos de locul 10: 400 RON de membru

La tombolă vor participa echipele clasate sub locul 10 care au rezolvat cel puțin o problemă, iar premiile vor fi acordate prin tragere la sorți. Șansele la tombolă vor fi date de numărul de probleme rezolvate (de exemplu, o echipă care a rezolvat 5 probleme va avea 5 bilete la tombolă). O echipă poate câștiga cel mult un premiu la tombolă.

Înscriere

Echipele se pot înscrie prin completarea acestui formular până la data de 21 aprilie, ora 10:00. Un singur membru al echipei va completa formularul cu datele celor 3 membri.

Format

- Concursul presupune rezolvarea unui set de 15 probleme de programare / structuri de date / algoritmică, pe mai multe niveluri de dificultate, potrivite atât pentru începători, cât și pentru avansați.

- Evaluarea soluțiilor trimise se va face automat pe platforma HackerRank . Toate datele de intrare se citesc de la STDIN. Toate datele de ieșire se afișează la STDOUT.

- Fiecare problemă are un set de exemple / teste publice pe care le puteți folosi pentru a valida minimal soluția propusă. Puteți folosi butonul Run pentru a rula soluția voastră doar pe exemple.

- Fiecare problemă are un set de teste private pentru care soluția voastră trebuie să obțină rezultate corecte. Pentru a trimite soluțiile, folsiți butonul Submit. Poate fi văzut feedback individual pentru fiecare test:

  1. Soluția greșită - punctaj 0 pe problemă. Cauze posibile:
    1. compile error: codul nu compilează.
    2. runtime error: programul are o eroare fatală (ex. SEGFAULT).
    3. memory limit exceeded: programul folosește prea multă memorie. Verificați secțiunea de Constraints din enunț.
    4. time limit exceeded: programul are un timp de execuție prea mare. Verificați secțiunea de Constraints din enunț.
    5. wrong answer - codul compilează, execuția se termină cu succes, dar rezultatul afișat pe test nu este cel corect.
  2. Soluție corectă - accepted - punctaj 1 pe problemă. Codul compilează, se execută cu succes și produce rezultatul corect pe toate testele.

- Pentru a obține 1 punct este necesar să fie rezolvată corect și complet o problemă (să treacă toate testele asociate). Punctajul pentru o problemă este binar (0 sau 1).

- Clasamentul este de tip ICPC, adică descrescător după numărul de probleme rezolvate. În caz de egalitate, timpul de trimitere a soluției se va folosi drept criteriu de departajare. Exemple:

  1. O echipă cu 5 probleme rezolvate va fi mai sus în clasament decât o echipă cu 2 probleme rezolvate.
  2. Poziția relativă între 2 echipe cu câte 2 probleme rezolvate, pentru care timpul de trimitere (în minute) pentru probleme a fost {10, 30} (prima problemă trimisă în minutul 10, a doua în minutul 30), respectiv {5, 45}, se caculează însumând cei 2 timp și alegând minimul. Deoarece 10 + 30 < 5 + 45 , rezultă că prima echipa va fi pe un loc superior în clasament.
  3. Se poate folosi butonul Run pentru a rula de oricâte ori soluția voastră pe exemplele publice fără penalizare de timp. Eventualele penalizări se calculează doar pentru soluțiile trimise cu Submit. Fiecare încercare greșită se va penaliza cu 10 minute doar dacă în final problema a fost rezolvată corect (marcată cu accepted).

- Limbaje de programare acceptate: C, C++, Java, Python, cu următoarele versiuni:

  1. C: GCC 8.3.0, C11 standard
  2. C++: G++ 8.3.0, C++11 standard
  3. C++14: G++ 8.3.0, C++14 standard
  4. C++20: G++ 8.3.0, C++20 standard (Atenție: compilatorul G++ 8.3.0 nu are implementat tot standard-ul C++20. Pentru a verifica dacă un anumit feature este disponibil puteți consulta Compiler support for C++20 - cppreference.com .)
  5. Java 8: Sun Java 1.8.0_191
  6. Java 15: OpenJDK 15.0.2
  7. Python 3: Python 3.11.3

Responsabili

- Cristian Pătrașcu

- Liza Babu

- Andrei Airinei

Îndrumător: Traian Rebedea

Contact

Ne puteți contacta prin e-mail la askme.bpc@gmail.com

Ediții precedente

pa/bpc2024.txt · Last modified: 2024/04/23 14:08 by cpatrascu1910
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0