#3732
Seism
Cercetătorii de la NASA au instalat pe Marte un seismograf cu ajutorul căruia s-au înregistrat mișcările la nivelul solului planetei. Seismograful a trimis în fiecare din cele N
secunde ce definesc perioada de timp analizată, câte un semnal pe Pământ ce a fost codificat de cercetători cu valoarea 1
, dacă seismograful a detectat mișcare și 0
, în cazul în care nu s-a înregistrat mișcare la nivelul solului planetei. Astfel, un seism de pe Marte a fost definit de cercetători ca fiind o perioadă continuă de timp în care seismograful a trimis, din secundă în secundă, câte un semnal codificat cu 1
și care începe după cel puțin două semnale codificate cu 0
, iar la sfârșitul ei sunt înregistrate cel puțin două semnale codificate cu 0
.
Cunoscând șirul celor N
valori transmise în ordine de seismograf, scrieți un program care să determine:
1. Care a fost durata maximă, exprimată în secunde a unui seism;
2. Câte seisme au avut loc în perioada de timp analizată;
3. Din cauza unei erori tehnice, o perioadă continuă de timp seismograful a transmis eronat. Astfel, în șirul inițial format din cele N
semnale, trebuie să înlocuim valoarea 0
cu valoarea 1
, într-o singură secvență, de lungime nevidă, de elemente nule alăturate. Analizând toate posibilitățile de a face această modificare, determinați durata maximă a unui seism care se obține după modificarea șirului inițial de semnale.
OJI 2021 clasa a VI-a
Problema | Seism | Operații I/O |
![]() seism.in /seism.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #48186340 | Utilizator | |
Fișier | seism.cpp | Dimensiune | 1.63 KB |
Data încărcării | 17 Ianuarie 2024, 22:21 | Scor / rezultat | 0 puncte |
seism.cpp: In function 'int main()': seism.cpp:78:16: warning: 'z' may be used uninitialized in this function [-Wmaybe-uninitialized] cout<<z; ^ seism.cpp:74:19: warning: 'lmax' may be used uninitialized in this function [-Wmaybe-uninitialized] cout<<lmax; ^ seism.cpp:76:16: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized] cout<<s; ^ seism.cpp:62:32: warning: 'ante' may be used uninitialized in this function [-Wmaybe-uninitialized] if(ante>2 && v[ante-1]==0 && v[ante-2]==0 && nr0>2) { ^ seism.cpp:45:36: warning: 'nr0' may be used uninitialized in this function [-Wmaybe-uninitialized] z=max(z,nr1+nr0-2); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
2 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
3 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
4 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
5 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
6 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
7 | 0.004 secunde | Caught fatal signal 11 | 4 | 0 | ||
8 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
9 | 0.004 secunde | Caught fatal signal 11 | 4 | 0 | ||
10 | 0.008 secunde | Caught fatal signal 11 | 4 | 0 | ||
11 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
12 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
13 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
14 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
15 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
16 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
17 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
18 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
19 | 0.008 secunde | Caught fatal signal 11 | 4 | 0 | ||
20 | 0.008 secunde | Caught fatal signal 11 | 4 | 0 | ||
21 | 0 secunde | Caught fatal signal 11 | 2 | 0 | ||
22 | 0.004 secunde | Caught fatal signal 11 | 2 | 0 | ||
23 | 0.004 secunde | Caught fatal signal 11 | 2 | 0 | ||
24 | 0 secunde | Caught fatal signal 11 | 2 | 0 | ||
25 | 0.004 secunde | Caught fatal signal 11 | 2 | 0 | ||
26 | 0.004 secunde | Caught fatal signal 11 | 2 | 0 | ||
27 | 0.004 secunde | Caught fatal signal 11 | 2 | 0 | ||
28 | 0.004 secunde | Caught fatal signal 11 | 2 | 0 | ||
29 | 0 secunde | Caught fatal signal 11 | 2 | 0 | ||
30 | 0 secunde | Caught fatal signal 11 | 2 | 0 | ||
Punctaj total | 0 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Seism 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ă.