#2492
Se dau două numere naturale P şi Q şi un şir S = S[1], S[2], …, S[N] de numere întregi. Din şirul S trebuie ales un (P,Q)-subşir S[i1], S[i2], …, S[ik] astfel încât k ≥ 2 și P ≤ ij – ij-1 ≤ Q pentru orice j=2..k.
De exemplu, pentru P=2, Q=3 şi S=(2,-3,-7,-8,5,-1), subşirul (2,-3,-8) nu este (2,3)-subşir, dar subşirurile (2,-7,5) și (2,-7,-1) sunt (2,3)-subşiruri.
Pentru orice (P,Q)-subşir X = (S[i11],S[i2], ...,S[ir]), ne interesează valoarea expresiei
e(X) = |S[i1] - S[i2]| + |S[i2] - S[i3]| + ... + |S[ir-1] - S[ir]|
unde cu |a| s-a notat modulul numărului întreg a.
Să se calculeze şi să se afişeze E = max{e(X), X este (P,Q)-subşir al lui S}.
Lot juniori Tulcea, 2018
| Problema | pqstr | Operații I/O |
pqstr.in/pqstr.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #43214728 | Utilizator | |
| Fișier | pqstr.cpp | Dimensiune | 2.52 KB |
| Data încărcării | 07 Aprilie 2023, 14:02 | Scor/rezultat | Eroare de compilare |
pqstr.cpp: In member function 'long long int Segtree::query(int, int, int, int, int)': pqstr.cpp:59:28: warning: overflow in implicit constant conversion [-Woverflow] int ans = -INF; ^ pqstr.cpp:61:63: error: no matching function for call to 'max(int&, long long int)' ans = max(ans, query(2*nod, st, mid, a, b)); ^ pqstr.cpp:61:63: 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template argument deduction/substitution failed: pqstr.cpp:61:63: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') ans = max(ans, query(2*nod, st, mid, a, b)); ^ 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template argument deduction/substitution failed: pqstr.cpp:61:63: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') ans = max(ans, query(2*nod, st, mid, a, b)); ^ 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4231:5: note: template<class _Tp> _Tp std::max(std::initializer_list<_Tp>) max(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4231:5: note: template argument deduction/substitution failed: pqstr.cpp:61:63: note: mismatched types 'std::initializer_list<_Tp>' and 'int' ans = max(ans, query(2*nod, st, mid, a, b)); ^ 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4236:5: note: template<class _Tp, class _Compare> _Tp std::max(std::initializer_list<_Tp>, _Compare) max(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4236:5: note: template argument deduction/substitution failed: pqstr.cpp:61:63: note: mismatched types 'std::initializer_list<_Tp>' and 'int' ans = max(ans, query(2*nod, st, mid, a, b)); ^ pqstr.cpp:64:67: error: no matching function for call to 'max(int&, long long int)' ans = max(ans, query(2*nod+1, mid+1, dr, a, b)); ^ pqstr.cpp:64:67: 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template argument deduction/substitution failed: pqstr.cpp:64:67: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') ans = max(ans, query(2*nod+1, mid+1, dr, a, b)); ^ 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template argument deduction/substitution failed: pqstr.cpp:64:67: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') ans = max(ans, query(2*nod+1, mid+1, dr, a, b)); ^ 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4231:5: note: template<class _Tp> _Tp std::max(std::initializer_list<_Tp>) max(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4231:5: note: template argument deduction/substitution failed: pqstr.cpp:64:67: note: mismatched types 'std::initializer_list<_Tp>' and 'int' ans = max(ans, query(2*nod+1, mid+1, dr, a, b)); ^ 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 pqstr.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4236:5: note: template<class _Tp, class _Compare> _Tp std::max(std::initializer_list<_Tp>, _Compare) max(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4236:5: note: template argument deduction/substitution failed: pqstr.cpp:64:67: note: mismatched types 'std::initializer_list<_Tp>' and 'int' ans = max(ans, query(2*nod+1, mid+1, dr, a, b)); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema pqstr 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ă.