Detalii evaluare #64035305

Rezumat problemă

#4992

Fiind încântat de proba de biatlon de la jocurile olimpice de iarnă, Rareș s-a gândit să inventeze propriul joc. El a așezat în linie un număr de ținte, apoi și-a propus să le doboare folosind mingea. Mingea fiind mai mare, la o lovitură se doboară două ținte aflate una lângă alta. Dacă o țintă este izolată (fără alta vecină) ea poate fi doborâtă la o lovitură cu mingea.

Fiind inventiv, el și-a stabilit câteva reguli speciale de joc:

  • Dacă o țintă este vecină cu o alta, aceasta nu poate fi doborâtă singură la lovitura următoare;
  • El dorește să execute un număr maxim de lovituri până reușește să doboare toate țintele, respectând regulile jocului;
  • Rareș este un foarte bun executant de lovituri cu mingea, așa că el reușește să lovească mereu ținta sau țintele propuse.

Problema are două cerințe, în funcție de valoarea lui C ∈ {1, 2}.

  1. C=1. Să se determine numărul maxim de lovituri pe care le poate executa pentru șirul de valori din fișierul de intrare.
  2. C=2. Rareș poate să modifice configurația țintelor în felul următor: formează N − 1 grupuri prin alipirea țintelor din ultimul grup la unul dintre celelalte grupuri. Dorește să formeze un astfel de set cu N − 1 grupuri asupra căruia să poată executa un număr de lovituri strict mai mare decât cel maxim posibil pe setul inițial de N grupuri. Programul trebuie să determine grupurile la care poate fi alipit ultimul astfel încât să se îndeplinească dorința lui.
ONI 2026, baraj a 5-a
Fișiere Candale Silviu (silviu) Marius Nicoli concurs

Detalii

Problema Biatlon Operații I/O biatlon.in/biatlon.out
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #64035305 Utilizator Matei Vlad-Stefan (VladMatei28)
Fișier biatlon.cpp Dimensiune 689 B
Data încărcării 09 Aprilie 2026, 22:41 Scor/rezultat 91 puncte

Evaluare

Mesaj compilare

biatlon.cpp: In function 'int main()':
biatlon.cpp:13:19: warning: iteration 50098u invokes undefined behavior [-Waggressive-loop-optimizations]
         lov[i]=i-x;

                   ^
biatlon.cpp:11:5: note: containing loop
     for (i=1; i<=100001; i++)

     ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 4 4
2 0 secunde OK. 4 4
3 0 secunde OK. 5 5
4 0 secunde OK. 3 3
5 0 secunde OK. 3 3
6 0 secunde OK. 3 3
7 0 secunde OK. 3 3
8 0 secunde OK. 3 3
9 0 secunde OK. 3 3
10 0 secunde OK. 3 3
11 0 secunde OK. 3 3
12 0 secunde OK. 3 3
13 0 secunde OK. 3 3
14 0 secunde OK. 3 3
15 0 secunde OK. 3 3
16 0 secunde OK. 3 3
17 0 secunde OK. 3 3
18 0.004 secunde OK. 3 3
19 0.004 secunde OK. 3 3
20 0.004 secunde OK. 3 3
21 0.004 secunde OK. 3 3
22 0.004 secunde OK. 3 3
23 0.004 secunde OK. 3 3
24 0 secunde OK. 3 3
25 0 secunde OK. 3 3
26 0 secunde OK. 3 3
27 0 secunde OK. 3 3
28 0 secunde OK. 3 3
29 0.004 secunde OK. 3 3
30 0.004 secunde Raspuns gresit. 3 0
31 0.004 secunde Raspuns gresit. 3 0
32 0.004 secunde Raspuns gresit. 3 0
Punctaj total 91

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 Biatlon 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!