#2896
Pentru a converti un număr din zecimal în binar îl vom împărți la 2
în mod repetat, până ce obținem câtul zero. Apoi vom colecta resturile obținute de la ultimul către primul. Aceste resturi sunt cifrele din reprezentarea binară a numărului dat, de la stânga la dreapta. De exemplu, 13
(10)
= 1101
(2)
.
Scrieți un program care, pentru un șir dat de n numere naturale, rezolvă următoarele cerințe:
1) Determină cel mai mare dintre cele n
numere date ce are număr maxim de valori de 1
în reprezentarea binară.
2) Determină cea mai lungă secvență de numere care au număr egal de valori de 1
în reprezentarea binară. Dacă sunt mai multe astfel de secvențe de lungime maximă, se va alege cea mai din stânga. O secvență este un subșir de numere care apar pe poziții consecutive în șirul inițial.
Olimpiada Municipală Iași, clasa a IX-a
Problema | binar1 | Operații I/O |
![]() binar.in /binar.out
|
---|---|---|---|
Limita timp | 1.5 secunde | Limita memorie |
Total: 8 MB
/
Stivă 2 MB
|
Id soluție | #57554522 | Utilizator | |
Fișier | binar1.cpp | Dimensiune | 1.24 KB |
Data încărcării | 04 Aprilie 2025, 12:47 | Scor / rezultat | 35 puncte |
binar1.cpp: In function 'int main()': binar1.cpp:18:53: warning: unused variable 'maxi2' [-Wunused-variable] long long c, n, poz, ans=0, x, lmax=0, maxi1=0, maxi2=0, l, z, temp; ^ binar1.cpp:61:34: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized] fout << l << " " << n-l+1; ^ binar1.cpp:44:14: warning: 'temp' may be used uninitialized in this function [-Wmaybe-uninitialized] else if(temp==r) ^ binar1.cpp:34:22: warning: 'z' may be used uninitialized in this function [-Wmaybe-uninitialized] if(ans<x || z<maxi1) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0.248 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
4 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
5 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
6 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
7 | 0.116 secunde | Raspuns gresit. | 10 | 0 | ||
8 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
9 | 0 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
Punctaj total | 35 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema binar1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.