This documentation is automatically generated by online-judge-tools/verification-helper
#include "data-structure/monoid/max_index.hpp"
#pragma once
#include <algorithm>
#include <limits>
#include <utility>
template <typename T, T MINUS_INF = std::numeric_limits<T>::min()> struct MonoidMaxWithIndex {
using S = std::pair<T, int>;
using value_type = S;
inline static S op(const S &l, const S &r) { return std::max(l, r); }
inline static S e() {
return std::make_pair(MINUS_INF, -1);
}
};
#line 2 "data-structure/monoid/max_index.hpp"
#include <algorithm>
#include <limits>
#include <utility>
template <typename T, T MINUS_INF = std::numeric_limits<T>::min()> struct MonoidMaxWithIndex {
using S = std::pair<T, int>;
using value_type = S;
inline static S op(const S &l, const S &r) { return std::max(l, r); }
inline static S e() {
return std::make_pair(MINUS_INF, -1);
}
};