foo.cc: In function 'void dts::tr_dfs1(dts::ll, dts::ll)':
foo.cc:29:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
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 between signed and unsigned integer expressions [-Wsign-compare]
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]
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]
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]
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]
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 is below array bounds [-Warray-bounds]
ians+=st_ask(&nst[-1],1,tr[tr[i].top].id,tr[i].id);
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:151:25: warning: array subscript is below array bounds [-Warray-bounds]
jans+=st_ask(&nst[-1],1,tr[tr[j].top].id,tr[j].id);
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:152:33: warning: array subscript is below array bounds [-Warray-bounds]
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:152:73: warning: array subscript is below array bounds [-Warray-bounds]
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:152:113: warning: array subscript is below array bounds [-Warray-bounds]
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:153:23: warning: array subscript is below array bounds [-Warray-bounds]
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:153:65: warning: array subscript is below array bounds [-Warray-bounds]
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:153:107: warning: array subscript is below array bounds [-Warray-bounds]
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: In function 'void dts::main()':
foo.cc:181:17: warning: array subscript is below array bounds [-Warray-bounds]
st_build(&nst[-1],1,1,cnt,&d[0]);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:183:17: warning: array subscript is below array bounds [-Warray-bounds]
st_build(&lst[-1],1,1,maxdep,&d[0]);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:194:30: warning: array subscript is below array bounds [-Warray-bounds]
st_update(&lst[-1],1,x,x,y);
~~~~~~~~~^~~~~~~~~~~~~~~~~~
foo.cc:196:30: warning: array subscript is below array bounds [-Warray-bounds]
st_update(&lst[-1],1,x,x,-y);
~~~~~~~~~^~~~~~~~~~~~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务