factories.cpp:133:2: warning: "/*" within comment [-Wcomment]
}/**/
factories.cpp: In function 'int sizedfs(int, int)':
factories.cpp:3:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define fori(a,b) for(int i=a;i<b;++i)
~^~~~~~~~
#define forj(a,b) for(int j=a;j<b;++j)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define fork(a,b) for(int k=a;k<b;++k)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
using namespace std;
~~~~~~~~~~~~~~~~~~~~~
const int N=500000;
~~~~~~~~~~~~~~~~~~~~
~
int par[N],sz[N],lvl[N],V,x,y,z,l,tot;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
long long ans[N],cd[N][19],xx,MAX=LLONG_MAX>>2;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vector<int> gr[N],dist[N];
~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool blc[N];
~~~~~~~~~~~~~
~
int sizedfs(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
sz[v]=1;
~~~~~~~~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~
factories.cpp:18:5: note: in expansion of macro 'fori'
fori(0,gr[v].size())
^~~~
factories.cpp: In function 'int getCenter(int, int)':
factories.cpp:3:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define fori(a,b) for(int i=a;i<b;++i)
~^~~~~~~~
#define forj(a,b) for(int j=a;j<b;++j)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define fork(a,b) for(int k=a;k<b;++k)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
using namespace std;
~~~~~~~~~~~~~~~~~~~~~
const int N=500000;
~~~~~~~~~~~~~~~~~~~~
~
int par[N],sz[N],lvl[N],V,x,y,z,l,tot;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
long long ans[N],cd[N][19],xx,MAX=LLONG_MAX>>2;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vector<int> gr[N],dist[N];
~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool blc[N];
~~~~~~~~~~~~~
~
int sizedfs(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
sz[v]=1;
~~~~~~~~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~~~
if(!blc[gr[v][i]]&&gr[v][i]^p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sz[v]+=sizedfs(gr[v][i],v);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return sz[v];
~~~~~~~~~~~~~~
}
~~
~
int getCenter(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~
factories.cpp:26:5: note: in expansion of macro 'fori'
fori(0,gr[v].size())
^~~~
factories.cpp: In function 'void dfs(int, int)':
factories.cpp:3:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define fori(a,b) for(int i=a;i<b;++i)
~^~~~~~~~
#define forj(a,b) for(int j=a;j<b;++j)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define fork(a,b) for(int k=a;k<b;++k)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
using namespace std;
~~~~~~~~~~~~~~~~~~~~~
const int N=500000;
~~~~~~~~~~~~~~~~~~~~
~
int par[N],sz[N],lvl[N],V,x,y,z,l,tot;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
long long ans[N],cd[N][19],xx,MAX=LLONG_MAX>>2;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vector<int> gr[N],dist[N];
~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool blc[N];
~~~~~~~~~~~~~
~
int sizedfs(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
sz[v]=1;
~~~~~~~~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~~~
if(!blc[gr[v][i]]&&gr[v][i]^p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sz[v]+=sizedfs(gr[v][i],v);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return sz[v];
~~~~~~~~~~~~~~
}
~~
~
int getCenter(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~~~
if(sz[gr[v][i]]>tot&&!blc[gr[v][i]]&&gr[v][i]^p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return getCenter(gr[v][i],v);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blc[v]=true;
~~~~~~~~~~~~~
return v;
~~~~~~~~~~
}
~~
~
void dfs(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~
{
~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~
factories.cpp:35:5: note: in expansion of macro 'fori'
fori(0,gr[v].size())
^~~~
factories.cpp: In function 'void build(int, int)':
factories.cpp:3:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define fori(a,b) for(int i=a;i<b;++i)
~^~~~~~~~
#define forj(a,b) for(int j=a;j<b;++j)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define fork(a,b) for(int k=a;k<b;++k)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
using namespace std;
~~~~~~~~~~~~~~~~~~~~~
const int N=500000;
~~~~~~~~~~~~~~~~~~~~
~
int par[N],sz[N],lvl[N],V,x,y,z,l,tot;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
long long ans[N],cd[N][19],xx,MAX=LLONG_MAX>>2;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vector<int> gr[N],dist[N];
~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool blc[N];
~~~~~~~~~~~~~
~
int sizedfs(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
sz[v]=1;
~~~~~~~~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~~~
if(!blc[gr[v][i]]&&gr[v][i]^p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sz[v]+=sizedfs(gr[v][i],v);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return sz[v];
~~~~~~~~~~~~~~
}
~~
~
int getCenter(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~~~
if(sz[gr[v][i]]>tot&&!blc[gr[v][i]]&&gr[v][i]^p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return getCenter(gr[v][i],v);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blc[v]=true;
~~~~~~~~~~~~~
return v;
~~~~~~~~~~
}
~~
~
void dfs(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~
{
~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~~~
if(!blc[gr[v][i]]&&gr[v][i]^p)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
cd[gr[v][i]][l]=cd[v][l]+dist[v][i];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dfs(gr[v][i],v);
~~~~~~~~~~~~~~~~~
}
~~
}
~~
~
void build(int v,int p)
~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
sizedfs(v,-1); tot=(sz[v]-1)>>1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
v=getCenter(v,-1);
~~~~~~~~~~~~~~~~~~~
par[v]=p; lvl[v]=l; cd[v][l]=0;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dfs(v,-1);
~~~~~~~~~~~
fori(0,gr[v].size())
~~~~~~~~~~~~~~~~~~~
factories.cpp:49:5: note: in expansion of macro 'fori'
fori(0,gr[v].size())
^~~~