运行 ID: 38212

Main.cc: In function ‘void SA()’:
Main.cc:22:20: warning: array subscript has type ‘char’ [-Wchar-subscripts]
     up(i,1,n)P[s[i]].p_b(i);int c=0;
                    ^
Main.cc:2:19: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
 #define up(i,l,r) for(int i=(l);i<=(r);++i)
                   ^
Main.cc:22:5: note: in expansion of macro ‘up’
     up(i,1,n)P[s[i]].p_b(i);int c=0;
     ^~
Main.cc:22:29: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
     up(i,1,n)P[s[i]].p_b(i);int c=0;
                             ^~~
Main.cc:2:19: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
 #define up(i,l,r) for(int i=(l);i<=(r);++i)
                   ^
Main.cc:34:9: note: in expansion of macro ‘up’
         up(i,1,n)tmp[i]=rk[i];int u=0;
         ^~
Main.cc:34:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
         up(i,1,n)tmp[i]=rk[i];int u=0;
                               ^~~
Main.cc: At global scope:
Main.cc:78:2: error: expected ‘;’ after struct definition
 }
  ^
  ;
Main.cc: In member function ‘ll SegTree::ask(int, int, int, int)’:
Main.cc:51:18: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
         int mid=s+t>>1;
                 ~^~
Main.cc: In member function ‘void SegTree::pu(int, int, int)’:
Main.cc:56:18: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
         int mid=s+t>>1;
                 ~^~
Main.cc: In member function ‘void SegTree::bd(int, int, int)’:
Main.cc:64:18: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
         int mid=l+r>>1;
                 ~^~
Main.cc: In member function ‘void SegTree::modify(int, int, int, int, int)’:
Main.cc:69:18: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
         int mid=s+t>>1;
                 ~^~
Main.cc: In member function ‘ll SegTree::ask(int, int, int, int, int, int&)’:
Main.cc:74:18: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
         int mid=s+t>>1;ll res=0;
                 ~^~
Main.cc:75:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
         if(l<=mid)res+=ask(l,r,s,mid,ls(p),k);if(r>mid)res+=ask(l,r,mid+1,t,rs(p),k);
         ^~
Main.cc:75:47: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
         if(l<=mid)res+=ask(l,r,s,mid,ls(p),k);if(r>mid)res+=ask(l,r,mid+1,t,rs(p),k);
                                               ^~
Main.cc: In function ‘int main()’:
Main.cc:84:35: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     freopen("string.in","r",stdin),freopen("string.out","w",stdout);
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cc:84:35: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]