#include #include template std::size_t max_positive_negative(const std::vector &vec) { std::size_t neg{},pos{}; for(const T& e : vec) if(e < 0) neg++; else pos++; return static_cast(std::max(neg,pos)); } int main() { std::vector vec1{-3,1,2,-1,3,-2,4}, vec2{-1,-2,-3,1},vec3{1,2}; std::cout << max_positive_negative(vec1) << '\n' << max_positive_negative(vec2) << '\n' << max_positive_negative(vec3) << '\n'; return 0; }