Detalii evaluare #23541856

Rezumat problemă

#3436 Wind

Domnul Vânt a pus pe marginea unei șosele N centrale eoliene, dintre care unele produc energie electrică, iar altele, deocamdată, doar consumă energie. El a etichetat centralele cu numerele naturale distincte de la 1 la N, în ordinea poziționării lor pe șosea. Fiecare centrală eoliană are la bază un ecran pe care este afișat un număr întreg, reprezentând cantitatea de energie pe care o produce (dacă numărul este pozitiv) sau pe care o consumă (dacă numărul este negativ).

Pentru a construi corect k orașe de-a lungul acestei șosele, un arhitect trebuie să aibă în vedere că:

  • fiecărui oraș îi va fi atribuit câte un grup format din centrale eoliene vecine pe șosea, toate grupurile având același număr de centrale;
  • cantitatea de energie repartizată unui oraș este egală cu suma numerelor afișate pe ecranele centralelor
    eoliene din grupul atribuit; uneori este posibil ca, deocamdată, suma obținută să fie negativă;
  • fiecare dintre cele N centrale eoliene trebuie să fie atribuită unui oraș;
  • factorul de dezechilibru, notat cu P(k), este valoarea maximă a diferenței dintre energiile repartizate oricăror două orașe diferite, dintre cele k.

Scrieți un program care citește numărul N, valorile afișate pe cele N ecrane ale centralelor eoliene și rezolvă următoarele două cerinţe:

  1. afișează numărul M de moduri în care se pot grupa cele N centrale pentru construcția corectă de orașe;
  2. afișează numărul maxim X de orașe ce pot fi construite corect, dintre cele care au factorul de dezechilibru minim, precum și eticheta E a primei centrale eoliene atribuită orașului cu cea mai mare cantitate de energie repartizată, dintre cele X orașe; dacă sunt mai multe astfel de orașe, se ia în considerare cel care are atribuite centrale etichetate cu numere mai mari.

Detalii

Problema Wind Operații I/O wind.in/wind.out
Limita timp 0.3 secunde Limita memorie Total: 16 MB / Stivă 16 MB
Id soluție #23541856 Utilizator sal sal (cont_pbinfo)
Fișier wind.cpp Dimensiune 2.10 KB
Data încărcării 24 Iulie 2020, 03:58 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

wind.cpp: In function 'void desc(int)':
wind.cpp:22:88: warning: unused variable 'mm' [-Wunused-variable]
     long long fdezmin = 0, nro = n, mini = 1000000000000000, maxi = -1000000000000000, mm, pozmm, poz;

                                                                                        ^
wind.cpp:46:38: warning: 'poz' may be used uninitialized in this function [-Wmaybe-uninitialized]
                 nro = d, pozmm = poz * a + 1;

                                      ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0.008 secunde OK. 4 4
2 0.012 secunde OK. 4 4
3 0 secunde OK. 4 4
4 0.012 secunde OK. 4 4
5 0 secunde OK. 4 4
6 0 secunde OK. 5 5
7 0 secunde OK. 5 5
8 0.004 secunde OK. 5 5
9 0 secunde OK. 5 5
10 0.004 secunde OK. 5 5
11 0 secunde OK. 5 5
12 0.012 secunde OK. 5 5
13 0.012 secunde OK. 5 5
14 0.008 secunde OK. 5 5
15 0.008 secunde OK. 5 5
16 0 secunde OK. 4 4
17 0 secunde OK. 4 4
18 0 secunde OK. 4 4
19 0 secunde OK. 4 4
20 0 secunde OK. 4 4
21 0 secunde OK. 5 5 Exemplu
22 0 secunde OK. 5 5 Exemplu
Punctaj total 100

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