foo.cc: In function 'void dts::tr_dfs1(dts::ll, dts::ll)':
foo.cc:29:22: warning: comparison of integer expressions of different signedness: 'dts::ll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
29 | for (ll i=0;i<tr[now].s.size();i++)
| ~^~~~~~~~~~~~~~~~~
foo.cc: In function 'void dts::tr_dfs2(dts::ll, dts::ll)':
foo.cc:48:26: warning: comparison of integer expressions of different signedness: 'dts::ll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
48 | for (ll i=0;i<tr[now].s.size();i++)
| ~^~~~~~~~~~~~~~~~~
foo.cc: In function 'void dts::main()':
foo.cc:161:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
161 | scanf("%lld%lld",&n,&q);
| ~~~~~^~~~~~~~~~~~~~~~~~
foo.cc:163:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
163 | scanf("%lld",&a[i]);
| ~~~~~^~~~~~~~~~~~~~
foo.cc:169:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
169 | scanf("%lld\n",&fa);
| ~~~~~^~~~~~~~~~~~~~
foo.cc:188:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
188 | scanf("%c%lld%lld\n",&o,&x,&y);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc: In function 'dts::ll dts::ask(dts::ll, dts::ll)':
foo.cc:149:25: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
149 | ians+=st_ask(&nst[-1],1,tr[tr[i].top].id,tr[i].id);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:13: note: while referencing 'dts::nst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:151:25: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
151 | jans+=st_ask(&nst[-1],1,tr[tr[j].top].id,tr[j].id);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:13: note: while referencing 'dts::nst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:152:33: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
152 | ll ansn=ians+jans+st_ask(&nst[-1],1,tr[lcan].id,tr[i].id)+st_ask(&nst[-1],1,tr[lcan].id,tr[j].id)-st_ask(&nst[-1],1,tr[lcan].id,tr[lcan].id);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:13: note: while referencing 'dts::nst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:152:73: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
152 | ll ansn=ians+jans+st_ask(&nst[-1],1,tr[lcan].id,tr[i].id)+st_ask(&nst[-1],1,tr[lcan].id,tr[j].id)-st_ask(&nst[-1],1,tr[lcan].id,tr[lcan].id);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:13: note: while referencing 'dts::nst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:152:113: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
152 | ll ansn=ians+jans+st_ask(&nst[-1],1,tr[lcan].id,tr[i].id)+st_ask(&nst[-1],1,tr[lcan].id,tr[j].id)-st_ask(&nst[-1],1,tr[lcan].id,tr[lcan].id);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:13: note: while referencing 'dts::nst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:153:23: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
153 | ll ansl=st_ask(&lst[-1],1,tr[lcan].dep,tr[x].dep)+st_ask(&lst[-1],1,tr[lcan].dep,tr[y].dep)-st_ask(&lst[-1],1,tr[lcan].dep,tr[lcan].dep);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:28: note: while referencing 'dts::lst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:153:65: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
153 | ll ansl=st_ask(&lst[-1],1,tr[lcan].dep,tr[x].dep)+st_ask(&lst[-1],1,tr[lcan].dep,tr[y].dep)-st_ask(&lst[-1],1,tr[lcan].dep,tr[lcan].dep);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:28: note: while referencing 'dts::lst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:153:107: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
153 | ll ansl=st_ask(&lst[-1],1,tr[lcan].dep,tr[x].dep)+st_ask(&lst[-1],1,tr[lcan].dep,tr[y].dep)-st_ask(&lst[-1],1,tr[lcan].dep,tr[lcan].dep);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:28: note: while referencing 'dts::lst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc: In function 'void dts::main()':
foo.cc:181:17: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
181 | st_build(&nst[-1],1,1,cnt,&d[0]);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:13: note: while referencing 'dts::nst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:183:17: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
183 | st_build(&lst[-1],1,1,maxdep,&d[0]);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:83:28: note: while referencing 'dts::lst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:196:30: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
196 | st_update(&lst[-1],1,x,x,-y);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
foo.cc:83:28: note: while referencing 'dts::lst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
foo.cc:194:30: warning: array subscript -1 is below array bounds of 'dts::st_node [131073]' [-Warray-bounds]
194 | st_update(&lst[-1],1,x,x,y);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~
foo.cc:83:28: note: while referencing 'dts::lst'
83 | st_node nst[(1<<17)+1],lst[(1<<17)+1];//nst:按節點的線段樹,lst:按深度的線段樹
| ^~~
正在同步测试数据,请稍后
[Hydro](https://hydro.ac)提供评测服务