aboutsummaryrefslogtreecommitdiff
path: root/challenge-262/deadmarshal/cpp/ch-1.cpp
blob: 391ea1f286e3bffaf371bd97ade6cc7874e6ba3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<vector>

template<typename T>
std::size_t max_positive_negative(const std::vector<T> &vec)
{
  std::size_t neg{},pos{};
  for(const T& e : vec) if(e < 0) neg++; else pos++;
  return static_cast<size_t>(std::max(neg,pos));
}

int main()
{
  std::vector<int> vec1{-3,1,2,-1,3,-2,4},
    vec2{-1,-2,-3,1},vec3{1,2};
  std::cout << max_positive_negative<int>(vec1) << '\n'
	    << max_positive_negative<int>(vec2) << '\n'
	    << max_positive_negative<int>(vec3) << '\n';
  return 0;
}