#1046
Munte
Se consideră un şir x
1
, x
2
,…, x
n
format din n
numere naturale distincte. O secvenţă de număr maxim de elemente vecine în şir, de forma x
i
, x
i+1
,…, x
k-1
, x
k
, x
k+1
,…, x
j
(1≤i<k<j≤n
) cu proprietatea că x
i
< x
i+1
< ...< x
k-1
< x
k
> x
k+1
> ... > x
j
, se numeşte munte cu vârful x
k
. Două secvenţe munte au maxim un element comun în şir. O secvenţă munte are cel puţin 3
elemente. Un exemplu de şir format cu valorile 3 4 6 8
nu conţine nicio secvenţă munte, iar unul format cu valorile 3 4 8 1 2 5 0
conţine 2
secvenţe munte: 3 4 8 1
şi 1 2 5 0
.
După determinarea tuturor secvenţelor munte şi a vârfurilor acestora, se elimină din şir vârfurile secvenţelor munte şi procedura continuă repetat cu determinarea noilor secvenţe munte şi a vârfurilor lor din şirul nou obţinut. Procedura se opreşte în momentul în care în şir nu mai există nicio secvenţă munte.
Scrieţi un program care citeşte numerele n
, x
1
, x
2
, …, x
n
şi apoi determină:
a) numărul de secvenţe munte din şirul iniţial;
b) numărul total de secvenţe munte obţinute pornind de la şirul iniţial până la cel care nu mai conţine nicio secvenţă munte;
c) numărul de elemente din şirul final care nu mai conţine secvenţe munte.
OJI 2014, Clasa a VI-a
Problema | Munte | Operații I/O |
![]() munte.in /munte.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #57553303 | Utilizator | |
Fișier | munte.cpp | Dimensiune | 660 B |
Data încărcării | 04 Aprilie 2025, 12:00 | Scor / rezultat | Eroare de compilare |
munte.cpp: In function 'int main()': munte.cpp:8:5: error: 'ofsteram' was not declared in this scope ofsteram cout("munte.out") ^ munte.cpp:8:14: error: expected ';' before 'cout' ofsteram cout("munte.out") ^ munte.cpp:10:12: error: 'n' was not declared in this scope cin >> n; ^ munte.cpp:11:26: error: expected ')' before ';' token for(int i=0; i<n; i++;) ^ munte.cpp:11:27: error: expected primary-expression before ')' token for(int i=0; i<n; i++;) ^ munte.cpp:11:27: error: expected ';' before ')' token munte.cpp:15:11: error: 'munte' was not declared in this scope while(munte=0) ^ munte.cpp:18:5: error: 'pass' was not declared in this scope pass++; ^ munte.cpp:19:7: error: expected primary-expression before 'int' f(int i=1; i<n; i++){ ^ munte.cpp:19:16: error: 'i' was not declared in this scope f(int i=1; i<n; i++){ ^ munte.cpp:19:24: error: expected ';' before ')' token f(int i=1; i<n; i++){ ^ munte.cpp:34:1: error: expected '}' at end of input } ^ munte.cpp:34:1: error: expected '}' at end of input
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Munte 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ă.