Main.cc: In function ‘int main()’: Main.cc:34:85: error: no matching function for call to ‘max(int, short int&)’ dp[(1<<(j-1))|nowsta]=max(dp[nowsta]+1,dp[(1<<(j-1))|nowsta]); ^ In file included from /usr/include/c++/7/bits/char_traits.h:39:0, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from Main.cc:1: /usr/include/c++/7/bits/stl_algobase.h:219:5: note: candidate: template const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^~~ /usr/include/c++/7/bits/stl_algobase.h:219:5: note: template argument deduction/substitution failed: Main.cc:34:85: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘short int’) dp[(1<<(j-1))|nowsta]=max(dp[nowsta]+1,dp[(1<<(j-1))|nowsta]); ^ In file included from /usr/include/c++/7/bits/char_traits.h:39:0, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from Main.cc:1: /usr/include/c++/7/bits/stl_algobase.h:265:5: note: candidate: template const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^~~ /usr/include/c++/7/bits/stl_algobase.h:265:5: note: template argument deduction/substitution failed: Main.cc:34:85: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘short int’) dp[(1<<(j-1))|nowsta]=max(dp[nowsta]+1,dp[(1<<(j-1))|nowsta]); ^ In file included from /usr/include/c++/7/algorithm:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65, from Main.cc:1: /usr/include/c++/7/bits/stl_algo.h:3462:5: note: candidate: template _Tp std::max(std::initializer_list<_Tp>) max(initializer_list<_Tp> __l) ^~~ /usr/include/c++/7/bits/stl_algo.h:3462:5: note: template argument deduction/substitution failed: Main.cc:34:85: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘int’ dp[(1<<(j-1))|nowsta]=max(dp[nowsta]+1,dp[(1<<(j-1))|nowsta]); ^ In file included from /usr/include/c++/7/algorithm:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65, from Main.cc:1: /usr/include/c++/7/bits/stl_algo.h:3468:5: note: candidate: template _Tp std::max(std::initializer_list<_Tp>, _Compare) max(initializer_list<_Tp> __l, _Compare __comp) ^~~ /usr/include/c++/7/bits/stl_algo.h:3468:5: note: template argument deduction/substitution failed: Main.cc:34:85: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘int’ dp[(1<<(j-1))|nowsta]=max(dp[nowsta]+1,dp[(1<<(j-1))|nowsta]); ^