0_0_30277143_19598.cpp: In instantiation of 'constexpr const size_t PlusMinus1RMQ<600010ull, int, std::less<int> >::_N':
0_0_30277143_19598.cpp:153:37: required from 'constexpr const size_t PlusMinus1RMQ<600010ull, int, std::less<int> >::_S'
0_0_30277143_19598.cpp:154:50: required from 'constexpr const size_t PlusMinus1RMQ<600010ull, int, std::less<int> >::M'
0_0_30277143_19598.cpp:160:11: required from 'struct PlusMinus1RMQ<600010ull, int, std::less<int> >'
0_0_30277143_19598.cpp:232:32: required from 'struct StdRMQ<300005ull, int, std::less<int> >'
0_0_30277143_19598.cpp:268:17: required from 'struct LCP<300005ull>'
0_0_30277143_19598.cpp:283:11: required from here
0_0_30277143_19598.cpp:152:47: error: call to non-constexpr function 'const _Tp& std::min(const _Tp&, const _Tp&) [with _Tp = long long unsigned int]'
_N = min(N, (size_t)((1 << (S * 2 - 1)) - 1)),
^
0_0_30277143_19598.cpp: In instantiation of 'struct PlusMinus1RMQ<600010ull, int, std::less<int> >':
0_0_30277143_19598.cpp:232:32: required from 'struct StdRMQ<300005ull, int, std::less<int> >'
0_0_30277143_19598.cpp:268:17: required from 'struct LCP<300005ull>'
0_0_30277143_19598.cpp:283:11: required from here
0_0_30277143_19598.cpp:160:11: error: size of array is not an integral constant-expression
int lg2[M], mask[M], st[M][32 - __builtin_clz(M)];
^
0_0_30277143_19598.cpp:160:20: error: size of array is not an integral constant-expression
int lg2[M], mask[M], st[M][32 - __builtin_clz(M)];
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/char_traits.h:39:0,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/ios:40,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/istream:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/sstream:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/complex:45,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/ccomplex:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/bits/stdc++.h:52,
from 0_0_30277143_19598.cpp:1:
GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/stl_algobase.h: In instantiation of 'bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate) [with _IIter1 = int*; _IIter2 = int*; _BinaryPredicate = int*]':
0_0_30277143_19598.cpp:30:59: required from here
GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/stl_algobase.h:1088:46: error: '__binary_pred' cannot be used as a function
if (!bool(__binary_pred(*__first1, *__first2)))
^
0_0_30277143_19598.cpp: In instantiation of 'void PlusMinus1RMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 600010ull; T = int; Comp = std::less<int>]':
0_0_30277143_19598.cpp:252:3: required from 'void StdRMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 300005ull; T = int; Comp = std::less<int>]'
0_0_30277143_19598.cpp:273:3: required from 'void LCP<N>::init(int*, int*, int) [with long long unsigned int N = 300005ull]'
0_0_30277143_19598.cpp:303:25: required from here
0_0_30277143_19598.cpp:191:7: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
st[x][0] = i;
^
0_0_30277143_19598.cpp:196:23: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
if (cmp(v[i], v[st[x][0]])) st[x][0] = i;
^
0_0_30277143_19598.cpp:196:35: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
if (cmp(v[i], v[st[x][0]])) st[x][0] = i;
^
0_0_30277143_19598.cpp:206:15: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
int x = st[i][j - 1], y = st[i + (1 << (j - 1))][j - 1];
^
0_0_30277143_19598.cpp:206:33: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
int x = st[i][j - 1], y = st[i + (1 << (j - 1))][j - 1];
^
0_0_30277143_19598.cpp:207:7: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
st[i][j] = cmp(v[x], v[y]) ? x : y;
^
0_0_30277143_19598.cpp: In instantiation of 'int PlusMinus1RMQ<N, T, Comp>::query(int, int) [with long long unsigned int N = 600010ull; T = int; Comp = std::less<int>]':
0_0_30277143_19598.cpp:258:15: required from 'int StdRMQ<N, T, Comp>::query(int, int) [with long long unsigned int N = 300005ull; T = int; Comp = std::less<int>]'
0_0_30277143_19598.cpp:280:37: required from 'int LCP<N>::query(int, int) [with long long unsigned int N = 300005ull]'
0_0_30277143_19598.cpp:314:27: required from here
0_0_30277143_19598.cpp:221:10: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
x = st[lx + 1][k], y = st[rx - (1 << k)][k];
^
0_0_30277143_19598.cpp:221:29: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
x = st[lx + 1][k], y = st[rx - (1 << k)][k];
^
|