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_26577900_17535.cpp: In instantiation of 'constexpr const size_t Plus_Minus_one_RMQ<1000010ull, int, std::less<int> >::S':
0_0_26577900_17535.cpp:52:22:   required from 'struct Plus_Minus_one_RMQ<1000010ull, int, std::less<int> >'
0_0_26577900_17535.cpp:125:31:   required from 'struct Std_RMQ<500005ull, int>'
0_0_26577900_17535.cpp:224:20:   required from here
0_0_26577900_17535.cpp:44:48: error: call to non-constexpr function 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]'
         S = max(1, (32 - __builtin_clz(N)) >> 1),
                                                ^
0_0_26577900_17535.cpp: In instantiation of 'struct Plus_Minus_one_RMQ<1000010ull, int, std::less<int> >':
0_0_26577900_17535.cpp:125:31:   required from 'struct Std_RMQ<500005ull, int>'
0_0_26577900_17535.cpp:224:20:   required from here
0_0_26577900_17535.cpp:52:22: error: size of array is not an integral constant-expression
  int pos[1 << S][S][S];
                      ^
0_0_26577900_17535.cpp:52:22: error: size of array is not an integral constant-expression
0_0_26577900_17535.cpp:53:11: error: size of array is not an integral constant-expression
  int lg2[M], mask[M], st[M][32 - __builtin_clz(M)];
           ^
0_0_26577900_17535.cpp:53:20: error: size of array is not an integral constant-expression
  int lg2[M], mask[M], st[M][32 - __builtin_clz(M)];
                    ^
0_0_26577900_17535.cpp: In instantiation of 'int Plus_Minus_one_RMQ<N, T, Comp>::query(int, int) [with long long unsigned int N = 1000010ull; T = int; Comp = std::less<int>]':
0_0_26577900_17535.cpp:151:15:   required from 'int Std_RMQ<N, T, Comp>::query(int, int) [with long long unsigned int N = 500005ull; T = int; Comp = std::less<int>]'
0_0_26577900_17535.cpp:239:37:   required from here
0_0_26577900_17535.cpp:107:25: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::pos'
    return lx * siz + pos[mask[lx]][l % siz][r % siz];
                         ^
0_0_26577900_17535.cpp:108:25: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::pos'
   int x = lx * siz + pos[mask[lx]][l % siz][siz - 1];
                         ^
0_0_26577900_17535.cpp:109:25: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::pos'
   int y = rx * siz + pos[mask[rx]][0][r % siz];
                         ^
0_0_26577900_17535.cpp:114:10: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
    x = st[lx + 1][k], y = st[rx - (1 << k)][k];
          ^
0_0_26577900_17535.cpp:114:29: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
    x = st[lx + 1][k], y = st[rx - (1 << k)][k];
                             ^
0_0_26577900_17535.cpp: In instantiation of 'void Plus_Minus_one_RMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 1000010ull; T = int; Comp = std::less<int>]':
0_0_26577900_17535.cpp:145:3:   required from 'void Std_RMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 500005ull; T = int; Comp = std::less<int>]'
0_0_26577900_17535.cpp:294:37:   required from here
0_0_26577900_17535.cpp:84:7: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
     st[x][0] = i;
       ^
0_0_26577900_17535.cpp:89:23: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
     if (cmp(v[i], v[st[x][0]])) st[x][0] = i;
                       ^
0_0_26577900_17535.cpp:89:35: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
     if (cmp(v[i], v[st[x][0]])) st[x][0] = i;
                                   ^
0_0_26577900_17535.cpp:99:15: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
     int x = st[i][j - 1], y = st[i + (1 << (j - 1))][j - 1];
               ^
0_0_26577900_17535.cpp:99:33: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
     int x = st[i][j - 1], y = st[i + (1 << (j - 1))][j - 1];
                                 ^
0_0_26577900_17535.cpp:100:7: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::st'
     st[i][j] = cmp(v[x], v[y]) ? x : y;
       ^
0_0_26577900_17535.cpp: In instantiation of 'void Plus_Minus_one_RMQ<N, T, Comp>::init(int) [with long long unsigned int N = 1000010ull; T = int; Comp = std::less<int>]':
0_0_26577900_17535.cpp:78:9:   required from 'void Plus_Minus_one_RMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 1000010ull; T = int; Comp = std::less<int>]'
0_0_26577900_17535.cpp:145:3:   required from 'void Std_RMQ<N, T, Comp>::build(T*, int) [with long long unsigned int N = 500005ull; T = int; Comp = std::less<int>]'
0_0_26577900_17535.cpp:294:37:   required from here
0_0_26577900_17535.cpp:61:8: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::pos'
     pos[i][j][j] = j;
        ^
0_0_26577900_17535.cpp:65:24: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::pos'
      pos[i][j][k] = pos[i][j][k - 1];
                        ^
0_0_26577900_17535.cpp:65:9: error: using invalid field 'Plus_Minus_one_RMQ<N, T, Comp>::pos'
      pos[i][j][k] = pos[i][j][k - 1];
         ^
0_0_26577900_17535.cpp:70:10: error: using invalid field 'Plus_Minus_one_RMQ<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-03 18:07:10, Gzip enabled