>>332
template <typename T, unsigned N>
T min_element(T (&ary)[N]) {
  return std::min_element(&ary[0], &ary[N]);
}