Bitdefender Programming Contest 2025
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 vor fi anuntate pe e-mail de eventuale schimbări.
Concursul este hibrid, cu participare:
online, doar pe bază de invitație (doar cei care au primit o invitație la concurs vor putea participa online)
fizică, în cadrul facultăților participante (vă rugăm să verificați cu coordonatorul concursurilor de programare competitivă din facultatea voastră dacă puteți participa)
Concursul presupune rezolvarea unui set de maximum 15 probleme de algoritmică, în echipe de câte 3 studenți, similar concursului ICPC . Vor fi premiate primele 10 echipe din clasament.
Concursul va conta ca etapă de calificare oficială ICPC pentru subregiunea București, etapă în urma căreia se vor alege echipele participante la etapa națională RCPC (Romanian Collegiate Programming Contest) 2025.
Eligibilitate
Pot participa doar echipe formate din studenți la licență sau masterat, înscriși în anul universitar 2024-2025 la facultăți din România și care nu sunt angajați Bitdefender la data concursului.
Data
Concursul va avea loc duminică, 6 aprilie, în intervalul 10:00-15:00.
Locație
Precondiții
Participanții vor forma echipe de câte 3 studenți. Dacă doriți să vă calificați la RCPC 2025, toți membrii echipei trebuie să fie studenți la aceeași facultate.
Participanții vor lucra pe propriile sisteme.
Fiecare echipă își va alege un nume cu care își va face cont pe platforma
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 21.300 RON este asigurat de către Bitdefender. Acesta va fi distribuit după cum urmează (sub formă de vouchere eMAG):
Locul 1: 1500 RON de membru
Locul 2: 1200 RON de membru
Locul 3: 900 RON de membru
Locurile 4-10: 500 RON de membru
Înscriere
Participare online
Echipele invitate se pot înscrie prin completarea formularului primit în invitație până duminică, 6 aprilie, ora 10:00. Un singur membru al echipei, care a primit invitație la concurs, va completa formularul cu datele celor 3 membri.
Participare fizică
Echipele se pot înscrie prin completarea acestui formular până joi, 3 aprilie, ora 10:00. Un singur membru al echipei va completa formularul cu datele celor 3 membri.
Concursul presupune rezolvarea unui set de maximum 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:
Soluția greșită - punctaj 0 pe problemă. Cauze posibile:
compile error: codul nu compilează.
runtime error: programul are o eroare fatală (ex. SEGFAULT).
memory limit exceeded: programul folosește prea multă memorie. Verificați secțiunea de Constraints din enunț.
time limit exceeded: programul are un timp de execuție prea mare. Verificați secțiunea de Constraints din enunț.
wrong answer - codul compilează, execuția se termină cu succes, dar rezultatul afișat pe test nu este cel corect.
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:
O echipă cu 5 probleme rezolvate va fi mai sus în clasament decât o echipă cu 2 probleme rezolvate.
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.
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:
C: GCC 8.3.0, C11 standard
C++: G++ 8.3.0, C++11 standard
C++14: G++ 8.3.0, C++14 standard
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 .)
Java: Sun Java 1.7.0_80
Java 8: OpenJDK 1.8.0_342
Java 15: OpenJDK 15.0.2
Python 3: Python 3.12.4
Responsabili
Andrei Airinei
Cristian Pătrașcu
Vlad Vasile
Îndrumător: Traian Rebedea
Ne puteți contacta prin e-mail la askme.bpc@gmail.com
Ediții precedente