F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_30277067_11562.cpp: In instantiation of 'constexpr const size_t PlusMinus1RMQ<600010ull, int, std::less<int> >::S':
0_0_30277067_11562.cpp:151:22:   required from 'struct PlusMinus1RMQ<600010ull, int, std::less<int> >'
0_0_30277067_11562.cpp:224:32:   required from 'struct StdRMQ<300005ull, int, std::less<int> >'
0_0_30277067_11562.cpp:260:17:   required from 'struct LCP<300005ull>'
0_0_30277067_11562.cpp:275:11:   required from here
0_0_30277067_11562.cpp:143:65: error: call to non-constexpr function 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]'
  static constexpr size_t S = max(1, (32 - __builtin_clz(N)) >> 1),
                                                                 ^
0_0_30277067_11562.cpp: In instantiation of 'struct PlusMinus1RMQ<600010ull, int, std::less<int> >':
0_0_30277067_11562.cpp:224:32:   required from 'struct StdRMQ<300005ull, int, std::less<int> >'
0_0_30277067_11562.cpp:260:17:   required from 'struct LCP<300005ull>'
0_0_30277067_11562.cpp:275:11:   required from here
0_0_30277067_11562.cpp:151:22: error: size of array is not an integral constant-expression
  int pos[1 << S][S][S];
                      ^
0_0_30277067_11562.cpp:151:22: error: size of array is not an integral constant-expression
0_0_30277067_11562.cpp:152:11: error: size of array is not an integral constant-expression
  int lg2[M], mask[M], st[M][32 - __builtin_clz(M)];
           ^
0_0_30277067_11562.cpp:152: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_30277067_11562.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_30277067_11562.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_30277067_11562.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_30277067_11562.cpp:244: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_30277067_11562.cpp:265:3:   required from 'void LCP<N>::init(int*, int*, int) [with long long unsigned int N = 300005ull]'
0_0_30277067_11562.cpp:295:25:   required from here
0_0_30277067_11562.cpp:183:7: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
     st[x][0] = i;
       ^
0_0_30277067_11562.cpp:188:23: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
     if (cmp(v[i], v[st[x][0]])) st[x][0] = i;
                       ^
0_0_30277067_11562.cpp:188:35: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
     if (cmp(v[i], v[st[x][0]])) st[x][0] = i;
                                   ^
0_0_30277067_11562.cpp:198: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_30277067_11562.cpp:198: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_30277067_11562.cpp:199:7: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
     st[i][j] = cmp(v[x], v[y]) ? x : y;
       ^
0_0_30277067_11562.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_30277067_11562.cpp:250: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_30277067_11562.cpp:272:37:   required from 'int LCP<N>::query(int, int) [with long long unsigned int N = 300005ull]'
0_0_30277067_11562.cpp:306:27:   required from here
0_0_30277067_11562.cpp:206:25: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
    return lx * siz + pos[mask[lx]][l % siz][r % siz];
                         ^
0_0_30277067_11562.cpp:207:25: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
   int x = lx * siz + pos[mask[lx]][l % siz][siz - 1];
                         ^
0_0_30277067_11562.cpp:208:25: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
   int y = rx * siz + pos[mask[rx]][0][r % siz];
                         ^
0_0_30277067_11562.cpp:213:10: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
    x = st[lx + 1][k], y = st[rx - (1 << k)][k];
          ^
0_0_30277067_11562.cpp:213:29: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::st'
    x = st[lx + 1][k], y = st[rx - (1 << k)][k];
                             ^
0_0_30277067_11562.cpp: In instantiation of 'void PlusMinus1RMQ<N, T, Comp>::init(int) [with long long unsigned int N = 600010ull; T = int; Comp = std::less<int>]':
0_0_30277067_11562.cpp:177:9:   required from 'void PlusMinus1RMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 600010ull; T = int; Comp = std::less<int>]'
0_0_30277067_11562.cpp:244: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_30277067_11562.cpp:265:3:   required from 'void LCP<N>::init(int*, int*, int) [with long long unsigned int N = 300005ull]'
0_0_30277067_11562.cpp:295:25:   required from here
0_0_30277067_11562.cpp:160:8: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
     pos[i][j][j] = j;
        ^
0_0_30277067_11562.cpp:164:24: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
      pos[i][j][k] = pos[i][j][k - 1];
                        ^
0_0_30277067_11562.cpp:164:9: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
      pos[i][j][k] = pos[i][j][k - 1];
         ^
0_0_30277067_11562.cpp:169:10: error: using invalid field 'PlusMinus1RMQ<N, T, Comp>::pos'
       pos[i][j][k] = k;
          ^


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-07-01 16:39:25, Gzip enabled