Detalii evaluare #63791817

Rezumat problemă

#2467

În școala unde învață, Andrei și Bogdan cunosc alți N elevi, etichetați cu numerele 1, 2, …, N. Dintre cei N elevi, o parte sunt prietenii lui Andrei. O parte dintre cei N elevi sunt dușmanii lui Bogdan. Se cunosc atât tichetele prietenilor lui Andrei, cât și etichetele dușmanilor lui Bogdan. Directorul școlii dorește să organizeze o excursie la care să participe Andrei, Bogdan și S dintre cunoscuții acestora, astfel încât din grupul celor S elevi să facă parte cel puțin K1 dintre prietenii lui Andrei și cel mult K2 dintre dușmanii lui Bogdan. Dorind să evite evenimente neplăcute, directorul va alege cei S elevi astfel încât numărul total al absențelor acumulate de aceștia, notat Sm, să fie minim.

Cunoscând valorile N, S, K1, K2, etichetele prietenilor lui Andrei, etichetele dușmanilor lui Bogdan, precum și numărul absențelor acumulate de fiecare dintre cei N elevi, determinați valoarea Sm obținută pentru un grup ce satisface condițiile de mai sus.

ONI 2018 clasa a X-a
Fișiere Pracsiu Dan (dnprx) Andrei Chiriac, Adrian Budău concurs

Detalii

Problema grup1 Operații I/O grup1.in/grup1.out
Limita timp 0.2 secunde Limita memorie Total: 128 MB / Stivă 32 MB
Id soluție #63791817 Utilizator Simina Alexandru (alex2010)
Fișier grup1.cpp Dimensiune 6.71 KB
Data încărcării 19 Martie 2026, 09:15 Scor/rezultat 90 puncte

Evaluare

Mesaj compilare

grup1.cpp: In function 'int main()':
grup1.cpp:101:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (unuzero.size() + poz1 < prieteni)

                                     ^
grup1.cpp:129:122: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (cevazero.size() - min(p10 + 1, (int)unuzero.size()) + min(poz0, (int)(cevaunu.size() - unuunu.size())) + t < s)

                                                                                                                          ^
grup1.cpp:170:17: warning: unused variable 'others' [-Wunused-variable]
             int others = (int)(upper_bound(unuunu.begin(), unuunu.end(), best) - unuunu.begin());

                 ^
grup1.cpp:134:33: warning: variable 'tpx1' set but not used [-Wunused-but-set-variable]
         int px1 = -1, px0 = -1, tpx1 = 0, tpx0 = 0;

                                 ^
grup1.cpp:134:43: warning: variable 'tpx0' set but not used [-Wunused-but-set-variable]
         int px1 = -1, px0 = -1, tpx1 = 0, tpx0 = 0;

                                           ^
grup1.cpp:135:13: warning: unused variable 'tx' [-Wunused-variable]
         int tx = 0;

             ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde OK. 10 10
1 0 secunde OK. 10 10
2 0 secunde OK. 10 10
3 0 secunde OK. 10 10
4 0 secunde OK. 10 10
5 0.044 secunde OK. 10 10
6 0.06 secunde OK. 10 10
7 Depășit Limita de timp depășită 10 0
8 0.148 secunde OK. 10 10
9 0.084 secunde OK. 10 10
Punctaj total 90

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema grup1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!