#1623
Avem o matrice triunghiulară cu n linii, cu elemente numere întregi. În această matrice putem construi un traseu după următoarea regulă:
a1,1ai,j aparţine traseului, atunci următorul element al traseului poate fi doar ai+1,j sau ai+1,j+1, pentru orice 1≤j≤i<n.1 la n. Valoarea traseului este egală cu suma elementelor ce îl formează.5+4+6+5+4=24, şi se codifică cu 1,2,3,3,4.
Fie mulţimea tuturor traseelor de valoare maximă generate în ordine lexicografică și numerotate. Pentru exemplul de mai sus avem șase trasee de lungime maximă:
1 1 1 1 2 (5+2+7+6+4=24)1 1 1 2 2 (5+2+7+6+4=24)1 2 2 2 2 (5+4+5+6+4=24)1 2 3 3 4 (5+4+6+5+4=24)1 2 3 4 4 (5+4+6+5+4=24)1 2 3 4 5 (5+4+6+5+4=24)Cunoscând dimensiunea și elementele unei matrice triunghiulare, respectiv două numere naturale st şi dr (st≤dr), se cere să se determine:
2000000000, se va tipări valoarea 2000000001;st, st+1, … , dr.OJI 2016, Clasele XI-XII
| Problema | SumMax1 | Operații I/O |
summax1.in/summax1.out
|
|---|---|---|---|
| Limita timp | 2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
| Id soluție | #63367985 | Utilizator | |
| Fișier | summax1.cpp | Dimensiune | 2.93 KB |
| Data încărcării | 28 Februarie 2026, 11:36 | Scor/rezultat | Eroare de compilare |
summax1.cpp: In function 'int RecursivBottomUp(int)': summax1.cpp:70:83: error: no matching function for call to 'min(__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type, const long long int&)' Traseu[rand][1] = min(Traseu[rand + 1][2] + Traseu[rand + 1][1], LIMIT); ^ summax1.cpp:70:83: note: candidates are: In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: summax1.cpp:70:83: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') Traseu[rand][1] = min(Traseu[rand + 1][2] + Traseu[rand + 1][1], LIMIT); ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: summax1.cpp:70:83: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') Traseu[rand][1] = min(Traseu[rand + 1][2] + Traseu[rand + 1][1], LIMIT); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>) min(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template argument deduction/substitution failed: summax1.cpp:70:83: note: mismatched types 'std::initializer_list<_Tp>' and 'int' Traseu[rand][1] = min(Traseu[rand + 1][2] + Traseu[rand + 1][1], LIMIT); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare) min(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template argument deduction/substitution failed: summax1.cpp:70:83: note: mismatched types 'std::initializer_list<_Tp>' and 'int' Traseu[rand][1] = min(Traseu[rand + 1][2] + Traseu[rand + 1][1], LIMIT); ^ summax1.cpp:93:91: error: no matching function for call to 'min(__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type, const long long int&)' Traseu[rand][i] = min(Traseu[rand + 1][i + 1] + Traseu[rand + 1][i], LIMIT); ^ summax1.cpp:93:91: note: candidates are: In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: summax1.cpp:93:91: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') Traseu[rand][i] = min(Traseu[rand + 1][i + 1] + Traseu[rand + 1][i], LIMIT); ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: summax1.cpp:93:91: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') Traseu[rand][i] = min(Traseu[rand + 1][i + 1] + Traseu[rand + 1][i], LIMIT); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>) min(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template argument deduction/substitution failed: summax1.cpp:93:91: note: mismatched types 'std::initializer_list<_Tp>' and 'int' Traseu[rand][i] = min(Traseu[rand + 1][i + 1] + Traseu[rand + 1][i], LIMIT); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from summax1.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare) min(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template argument deduction/substitution failed: summax1.cpp:93:91: note: mismatched types 'std::initializer_list<_Tp>' and 'int' Traseu[rand][i] = min(Traseu[rand + 1][i + 1] + Traseu[rand + 1][i], LIMIT); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema SumMax1 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ă.