/in/foo.cc: In function 'void Divide(int)':
/in/foo.cc:216:65: error: no matching function for call to 'min(int&, long int)'
int ot=min(top,upper_bound(k+2,k+top+1,-p[o[i]])-k-1);
^
In file included from /usr/include/c++/6/bits/char_traits.h:39:0,
from /usr/include/c++/6/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from /in/foo.cc:2:
/usr/include/c++/6/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^~~
/usr/include/c++/6/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed:
/in/foo.cc:216:65: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
int ot=min(top,upper_bound(k+2,k+top+1,-p[o[i]])-k-1);
^
In file included from /usr/include/c++/6/bits/char_traits.h:39:0,
from /usr/include/c++/6/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from /in/foo.cc:2:
/usr/include/c++/6/bits/stl_algobase.h:243:5: note: candidate: 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++/6/bits/stl_algobase.h:243:5: note: template argument deduction/substitution failed:
/in/foo.cc:216:65: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
int ot=min(top,upper_bound(k+2,k+top+1,-p[o[i]])-k-1);
^
In file included from /usr/include/c++/6/algorithm:62:0,
from /in/foo.cc:6:
/usr/include/c++/6/bits/stl_algo.h:3447:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
min(initializer_list<_Tp> __l)
^~~
/usr/include/c++/6/bits/stl_algo.h:3447:5: note: template argument deduction/substitution failed:
/in/foo.cc:216:65: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
int ot=min(top,upper_bound(k+2,k+top+1,-p[o[i]])-k-1);
^
In file included from /usr/include/c++/6/algorithm:62:0,
from /in/foo.cc:6:
/usr/include/c++/6/bits/stl_algo.h:3453:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
min(initializer_list<_Tp> __l, _Compare __comp)
^~~
/usr/include/c++/6/bits/stl_algo.h:3453:5: note: template argument deduction/substitution failed:
/in/foo.cc:216:65: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
int ot=min(top,upper_bound(k+2,k+top+1,-p[o[i]])-k-1);
^