#3453
În junglă cresc foarte mulți copaci, de diferite înălțimi. Fiind pasionat de copacii din junglă, Gigel a notat pe o foaie înălțimile la care pot ajunge copacii din junglă. Fiind închis în casă, își pune, ca orice copil normal, tot felul de întrebări bizare. El s-a gandit să planteze pomii în linie, într-o anumită ordine, și astfel a obținut N numere, v[1], v[2], ..., v[N], unde V[i] reprezintă înălțimea copacului i. Apoi i-au venit în minte două întrebări.
Mai întâi vrea sa afle câți copaci plantați înaintea copacului cu numărul de ordine i au înălțimile mai mici ca acesta.
A doua întrebare este mai speciala; Gigel se întreabă care ar fi dreptunghiul cu suprafața maximă liberă (adică neocupată de vreun copac) dacă ar încadra copacii într-o seră cu înălțimea egală cu înălțimea celui mai înalt copac plantat. Putem vizualiza sera ca pe un tablou bidimensional, cu colțul din stanga jos de coordonate (1,1) , iar cel din dreapta sus de coordonate (N,H), unde N este numărul de copaci, iar H este înâlțimea maximă a unui copac. În acest tablou copacul cu numărul de ordine i ocupă primele v[i] unități de pe coloana i, de jos in sus (v[i] reprezintă înălțimea copacului i).
| Problema | jungla | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 128 MB
/
Stivă 16 MB
|
| Id soluție | #64506532 | Utilizator | |
| Fișier | jungla.cpp | Dimensiune | 1.81 KB |
| Data încărcării | 11 Mai 2026, 18:15 | Scor/rezultat | Eroare de compilare |
jungla.cpp:1:7: error: expected nested-name-specifier before ‘System’ 1 | using System; | ^~~~~~ jungla.cpp:2:7: error: expected nested-name-specifier before ‘System’ 2 | using System.Collections.Generic; | ^~~~~~ jungla.cpp:47:40: error: expected ‘,’ or ‘...’ before ‘h’ 47 | static long LargestRectangle(int[] h) | ^ jungla.cpp:70:2: error: expected ‘;’ after class definition 70 | } | ^ | ; jungla.cpp: In static member function ‘static void Program::Main()’: jungla.cpp:8:17: error: expected primary-expression before ‘int’ 8 | int p = int.Parse(Console.ReadLine()); | ^~~ jungla.cpp:12:13: error: ‘string’ was not declared in this scope 12 | string[] parts = Console.ReadLine().Split(); | ^~~~~~ jungla.cpp:12:20: error: expected primary-expression before ‘]’ token 12 | string[] parts = Console.ReadLine().Split(); | ^ jungla.cpp:13:21: error: expected primary-expression before ‘int’ 13 | int n = int.Parse(parts[0]); | ^~~ jungla.cpp:14:21: error: expected primary-expression before ‘int’ 14 | int q = int.Parse(parts[1]); | ^~~ jungla.cpp:16:16: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 16 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^ jungla.cpp:16:16: error: structured binding declaration cannot have type ‘int’ 16 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~ jungla.cpp:16:16: note: type must be cv-qualified ‘auto’ or reference to cv-qualified ‘auto’ jungla.cpp:16:16: error: empty structured binding declaration jungla.cpp:16:19: error: expected initializer before ‘v’ 16 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^ jungla.cpp:17:16: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 17 | int[] queries = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^ jungla.cpp:17:16: error: structured binding declaration cannot have type ‘int’ 17 | int[] queries = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~ jungla.cpp:17:16: note: type must be cv-qualified ‘auto’ or reference to cv-qualified ‘auto’ jungla.cpp:17:16: error: empty structured binding declaration jungla.cpp:17:19: error: expected initializer before ‘queries’ 17 | int[] queries = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~~~~~~ jungla.cpp:21:25: error: ‘queries’ was not declared in this scope 21 | int i = queries[qi] - 1; | ^~~~~~~ jungla.cpp:25:25: error: ‘v’ was not declared in this scope 25 | if (v[j] < v[i]) cnt++; | ^ jungla.cpp:27:17: error: ‘Console’ was not declared in this scope 27 | Console.WriteLine(cnt); | ^~~~~~~ jungla.cpp:13:17: warning: unused variable ‘n’ [-Wunused-variable] 13 | int n = int.Parse(parts[0]); | ^ jungla.cpp:16:16: warning: unused structured binding declaration [-Wunused-variable] 16 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~ jungla.cpp:17:16: warning: unused structured binding declaration [-Wunused-variable] 17 | int[] queries = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~ jungla.cpp:32:21: error: expected primary-expression before ‘int’ 32 | int n = int.Parse(Console.ReadLine()); | ^~~ jungla.cpp:33:16: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 33 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^ jungla.cpp:33:16: error: structured binding declaration cannot have type ‘int’ 33 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~ jungla.cpp:33:16: note: type must be cv-qualified ‘auto’ or reference to cv-qualified ‘auto’ jungla.cpp:33:16: error: empty structured binding declaration jungla.cpp:33:19: error: expected initializer before ‘v’ 33 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^ jungla.cpp:37:21: error: ‘v’ was not declared in this scope 37 | if (v[i] > H) H = v[i]; | ^ jungla.cpp:39:16: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 39 | int[] h = new int[n]; | ^ jungla.cpp:39:16: error: structured binding declaration cannot have type ‘int’ 39 | int[] h = new int[n]; | ^~ jungla.cpp:39:16: note: type must be cv-qualified ‘auto’ or reference to cv-qualified ‘auto’ jungla.cpp:39:16: error: empty structured binding declaration jungla.cpp:39:19: error: expected initializer before ‘h’ 39 | int[] h = new int[n]; | ^ jungla.cpp:41:17: error: ‘h’ was not declared in this scope 41 | h[i] = H - v[i]; | ^ jungla.cpp:41:28: error: ‘v’ was not declared in this scope 41 | h[i] = H - v[i]; | ^ jungla.cpp:43:13: error: ‘Console’ was not declared in this scope 43 | Console.WriteLine(LargestRectangle(h)); | ^~~~~~~ jungla.cpp:43:48: error: ‘h’ was not declared in this scope 43 | Console.WriteLine(LargestRectangle(h)); | ^ jungla.cpp:33:16: warning: unused structured binding declaration [-Wunused-variable] 33 | int[] v = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); | ^~ jungla.cpp:39:16: warning: unused structured binding declaration [-Wunused-variable] 39 | int[] h = new int[n]; | ^~ jungla.cpp: In static member function ‘static long int Program::LargestRectangle(int*)’: jungla.cpp:49:17: error: ‘h’ was not declared in this scope 49 | int n = h.Length; | ^ jungla.cpp:50:9: error: ‘Stack’ was not declared in this scope 50 | Stack<int> st = new Stack<int>(); | ^~~~~ jungla.cpp:50:15: error: expected primary-expression before ‘int’ 50 | Stack<int> st = new Stack<int>(); | ^~~ jungla.cpp:57:20: error: ‘st’ was not declared in this scope; did you mean ‘std’? 57 | while (st.Count > 0 && curr < h[st.Peek()]) | ^~ | std jungla.cpp:62:27: error: ‘Math’ was not declared in this scope 62 | maxArea = Math.Max(maxArea, height * width); | ^~~~ jungla.cpp:65:13: error: ‘st’ was not declared in this scope; did you mean ‘std’? 65 | st.Push(i); | ^~ | std
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema jungla 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ă.