C++・amd64・GCC/Clangでは符号付き32/64ビット整数をAVX2で処理する。 AVX2非対応CPUではスカラー処理へ切り替え、他の型とCバックエンドにも対応する。
StaticRMQ[T] = object table: seq[seq[T]] prefix_product, suffix_product, V: seq[T]
CPLIB_COLLECTIONS_STATICRMQ = 1
proc initRMQ[T](V: openArray[T]): StaticRMQ[T]
proc query[T](RMQ: StaticRMQ[T]; l, r: int): T {.inline.}