foo.cc: In function 'L Q(int&, int, int, int)':
foo.cc:2:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define md (x+y>>1)
~^~
foo.cc:10:45: note: in expansion of macro 'md'
L q1=(x>M)?(P[P[R].l].s):(P[P[R].l].s+min(M,md*1ll)-x+1);
^~
foo.cc:2:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define md (x+y>>1)
~^~
foo.cc:12:30: note: in expansion of macro 'md'
if(p<=q1)return Q(P[R].l,p,x,md);
^~
foo.cc:2:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define md (x+y>>1)
~^~
foo.cc:13:22: note: in expansion of macro 'md'
return Q(P[R].r,p-q1,md+1,y);
^~
foo.cc: In function 'void C(int&, int, int, int, int)':
foo.cc:16:1: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(!R)R=++nd;if(x==y){P[R].s+=v;return;}
^~
foo.cc:16:14: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if(!R)R=++nd;if(x==y){P[R].s+=v;return;}
^~
foo.cc:2:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define md (x+y>>1)
~^~
foo.cc:17:8: note: in expansion of macro 'md'
if(nw<=md)C(P[R].l,nw,x,md,v);else C(P[R].r,nw,md+1,y,v);
^~
foo.cc:2:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define md (x+y>>1)
~^~
foo.cc:17:25: note: in expansion of macro 'md'
if(nw<=md)C(P[R].l,nw,x,md,v);else C(P[R].r,nw,md+1,y,v);
^~
foo.cc:2:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define md (x+y>>1)
~^~
foo.cc:17:48: note: in expansion of macro 'md'
if(nw<=md)C(P[R].l,nw,x,md,v);else C(P[R].r,nw,md+1,y,v);
^~
foo.cc: In function 'int main()':
foo.cc:23:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
int X,Y;scanf("%d%d",&X,&Y);
~~~~~^~~~~~~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务