Detalii evaluare #23884588

Rezumat problemă

O firmă producătoare de software organizează un interviu pentru ocuparea unui post de programator, la care s-au prezentat N candidaţi. Aceştia sunt ordonaţi în funcţie de momentul la care şi-au trimis CV-ul şi numerotaţi cu numere consecutive de la 1 la N. Fiecărui candidat i-a fost realizat în prealabil un profil psihologic şi i s-a determinat nivelul de agitaţie provocat de interviul care urmează să aibă loc, precum şi un sens (crescător sau descrescător) de modificare a acestui nivel. Astfel, la ora la care s-a anunţat începerea interviului (pe care o vom considera momentul 0), fiecare candidat are un nivel de agitaţie iniţial. Pentru fiecare unitate de timp după momentul 0 şi până în momentul în care candidatul este invitat pentru interviu (până atunci el trebuind să aştepte), nivelul său de agitaţie se modifică cu 1: pentru o parte din candidaţi nivelul creşte cu 1 unitate, iar pentru ceilalţi nivelul scade cu 1 unitate. Dacă nivelul de agitaţie a unui candidat ajunge la 0, din acel moment, pentru fiecare unitate de timp următoare, nivelul de agitaţie va creşte cu 1 (se schimbă sensul de modificare a nivelului de agitaţie).

Să se scrie un program care să determine suma totală minimă a nivelelor de agitaţie a candidaţilor la sfârşitul interviului dacă aceștia sunt împărțiți optimal în grupuri.

Detalii

Problema agitatie Operații I/O agitatie.in/agitatie.out
Limita timp 0.6 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #23884588 Utilizator Horodniceanu Andrei (Horodniceanu_A)
Fișier agitatie.cpp Dimensiune 1.10 KB
Data încărcării 11 Septembrie 2020, 22:09 Scor / rezultat 40 puncte

Evaluare


Mesaj compilare

agitatie.cpp: In function 'int pars_best(int&)':
agitatie.cpp:18:34: warning: overflow in implicit constant conversion [-Woverflow]
  int ret = 0, poz = n, val_min = 9999999999;

                                  ^
agitatie.cpp: In function 'int main()':
agitatie.cpp:31:34: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  freopen("agitatie.in","r",stdin);

                                  ^
agitatie.cpp:32:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  freopen("agitatie.out","w",stdout);

                                    ^
agitatie.cpp:33:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);

                 ^
agitatie.cpp:37:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &x, &s);

                         ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 10 10
2 0 secunde Raspuns gresit. 10 0
3 0 secunde Raspuns gresit. 10 0
4 0 secunde OK. 10 10
5 0 secunde Raspuns gresit. 10 0
6 0 secunde Raspuns gresit. 10 0
7 0.004 secunde Raspuns gresit. 10 0
8 0 secunde Raspuns gresit. 10 0
9 0.004 secunde OK. 10 10
10 0 secunde OK. 10 10
Punctaj total 40

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 agitatie 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ă.