#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 | #54011143 | Utilizator | |
Fișier | seism.cpp | Dimensiune | 2.51 KB |
Data încărcării | 17 Noiembrie 2024, 20:03 | Scor / rezultat | 84 puncte |
seism.cpp: In function 'int main()': seism.cpp:83:20: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(prima==1&&k%2==0||prima==0&&k%2==1) { ^ seism.cpp:9:29: warning: unused variable 'cntmax' [-Wunused-variable] int c, n, a, ok=0, cnt=0,cntmax=0, prima=-1; ^ seism.cpp:75:16: warning: 'dr' may be used uninitialized in this function [-Wmaybe-uninitialized] int st,dr,cnt=0; ^ seism.cpp:75:13: warning: 'st' may be used uninitialized in this function [-Wmaybe-uninitialized] int st,dr,cnt=0; ^
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. | 4 | 4 | ||
4 | 0 secunde | OK. | 4 | 4 | ||
5 | 0 secunde | OK. | 4 | 4 | ||
6 | 0 secunde | OK. | 4 | 4 | ||
7 | 0.004 secunde | OK. | 4 | 4 | ||
8 | 0 secunde | OK. | 4 | 4 | ||
9 | 0.004 secunde | OK. | 4 | 4 | ||
10 | 0.008 secunde | OK. | 4 | 4 | ||
11 | 0 secunde | OK. | 4 | 4 | ||
12 | 0 secunde | OK. | 4 | 4 | ||
13 | 0 secunde | OK. | 4 | 4 | ||
14 | 0 secunde | OK. | 4 | 4 | ||
15 | 0 secunde | OK. | 4 | 4 | ||
16 | 0 secunde | OK. | 4 | 4 | ||
17 | 0 secunde | OK. | 4 | 4 | ||
18 | 0 secunde | OK. | 4 | 4 | ||
19 | 0.008 secunde | OK. | 4 | 4 | ||
20 | 0.008 secunde | OK. | 4 | 4 | ||
21 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
22 | 0.004 secunde | Raspuns gresit. | 2 | 0 | ||
23 | 0.004 secunde | Raspuns gresit. | 2 | 0 | ||
24 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
25 | 0.004 secunde | Raspuns gresit. | 2 | 0 | ||
26 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
27 | 0.004 secunde | Raspuns gresit. | 2 | 0 | ||
28 | 0.004 secunde | OK. | 2 | 2 | ||
29 | 0 secunde | OK. | 2 | 2 | ||
30 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
Punctaj total | 84 |
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ă.