#1070
Deal
Vasilică are la grădiniţă N
turnuri cu înălţimile h
1
, h
2
, …, h
N
. Când aşază în linie nişte turnuri, cel puţin două, astfel încât înălţimile lor să fie în ordine crescătoare, Vasilică spune că a construit un deal. Înălţimea dealului este egală cu înălţimea celui mai înalt turn folosit. Iată, de exemplu, că aşezând în ordine turnurile cu înălţimile 2 4 4 7 9
a format un deal cu înălţimea 9
.
Vasilică şi-ar dori să aşeze în linie cele N
turnuri, formând o succesiune de dealuri astfel încât suma înălţimilor dealurilor formate să fie maximă.
Scrieţi un program care, cunoscând înălţimile celor N
turnuri, va determina suma înălţimilor dealurilor ce se pot forma aşezând în linie cele N
turnuri, maximă posibil.
OJI 2012, Clasa a VIII-a
Problema | Deal | Operații I/O |
deal.in /deal.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #49744622 | Utilizator | |
Fișier | deal.cpp | Dimensiune | 668 B |
Data încărcării | 13 Martie 2024, 18:44 | Scor / rezultat | Eroare de compilare |
deal.cpp:2:10: error: #include expects "FILENAME" or <FILENAME> #include ^ deal.cpp:3:10: error: #include expects "FILENAME" or <FILENAME> #include ^ deal.cpp:4:10: error: #include expects "FILENAME" or <FILENAME> #include ^ deal.cpp:6:25: error: 'vector' in namespace 'std' does not name a type int maxSumOfHills(const std::vector& heights) { ^ deal.cpp:6:38: error: ISO C++ forbids declaration of 'heights' with no type [-fpermissive] int maxSumOfHills(const std::vector& heights) { ^ deal.cpp: In function 'int maxSumOfHills(const int&)': deal.cpp:7:21: error: request for member 'size' in 'heights', which is of non-class type 'const int' int n = heights.size(); ^ deal.cpp:8:5: error: 'vector' is not a member of 'std' std::vector dp(n, 0); ^ deal.cpp:8:17: error: expected ';' before 'dp' std::vector dp(n, 0); ^ deal.cpp:11:9: error: 'dp' was not declared in this scope dp[i] = heights[i]; ^ deal.cpp:11:26: error: invalid types 'const int[int]' for array subscript dp[i] = heights[i]; ^ deal.cpp:13:26: error: invalid types 'const int[int]' for array subscript if (heights[i] >= heights[j]) { ^ deal.cpp:13:40: error: invalid types 'const int[int]' for array subscript if (heights[i] >= heights[j]) { ^ deal.cpp:14:25: error: 'max' is not a member of 'std' dp[i] = std::max(dp[i], dp[j] + heights[i]); ^ deal.cpp:14:58: error: invalid types 'const int[int]' for array subscript dp[i] = std::max(dp[i], dp[j] + heights[i]); ^ deal.cpp:19:13: error: 'max_element' is not a member of 'std' return *std::max_element(dp.begin(), dp.end()); ^ deal.cpp:19:30: error: 'dp' was not declared in this scope return *std::max_element(dp.begin(), dp.end()); ^ deal.cpp: In function 'int main()': deal.cpp:23:5: error: 'vector' is not a member of 'std' std::vector heights = {2, 4, 4, 7, 9}; // Example heights ^ deal.cpp:23:17: error: expected ';' before 'heights' std::vector heights = {2, 4, 4, 7, 9}; // Example heights ^ deal.cpp:24:32: error: 'heights' was not declared in this scope int maxSum = maxSumOfHills(heights); ^ deal.cpp:26:5: error: 'cout' is not a member of 'std' std::cout << "Maximum sum of heights of hills: " << maxSum << std::endl; ^ deal.cpp:26:67: error: 'endl' is not a member of 'std' std::cout << "Maximum sum of heights of hills: " << maxSum << std::endl; ^ deal.cpp: In function 'int maxSumOfHills(const int&)': deal.cpp:20:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Deal 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ă.