This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub kmyk/competitive-programming-library
#include "monoids/min_max.hpp"
#pragma once #include <algorithm> #include <numeric> #include <utility> template <class T> struct min_max_monoid { typedef std::pair<T, T> value_type; value_type unit() const { return std::make_pair(std::numeric_limits<T>::max(), std::numeric_limits<T>::lowest()); } value_type mult(value_type a, value_type b) const { return std::make_pair(std::min(a.min, b.min), std::max(a.max, b.max)); } };
#line 2 "monoids/min_max.hpp" #include <algorithm> #include <numeric> #include <utility> template <class T> struct min_max_monoid { typedef std::pair<T, T> value_type; value_type unit() const { return std::make_pair(std::numeric_limits<T>::max(), std::numeric_limits<T>::lowest()); } value_type mult(value_type a, value_type b) const { return std::make_pair(std::min(a.min, b.min), std::max(a.max, b.max)); } };