template<class S>inlinevoid arrInsert(constint k, int&sz, S a[], const S aval){
int i;
sz++;
for(i=sz-1;i>k;i--){
a[i]= a[i-1];
}
a[k]= aval;
}
template<class S, class T>inlinevoid arrInsert(constint k, int&sz, S a[], const S aval, T b[], const T bval){
int i;
sz++;
for(i=sz-1;i>k;i--){
a[i]= a[i-1];
}
for(i=sz-1;i>k;i--){
b[i]= b[i-1];
}
a[k]= aval;
b[k]= bval;
}
template<class S, class T, class U>inlinevoid arrInsert(constint k, int&sz, S a[], const S aval, T b[], const T bval, U c[], const U cval){
int i;
sz++;
for(i=sz-1;i>k;i--){
a[i]= a[i-1];
}
for(i=sz-1;i>k;i--){
b[i]= b[i-1];
}
for(i=sz-1;i>k;i--){
c[i]= c[i-1];
}
a[k]= aval;
b[k]= bval;
c[k]= cval;
}
template<class S, class T, class U, class V>inlinevoid arrInsert(constint k, int&sz, S a[], const S aval, T b[], const T bval, U c[], const U cval, V d[], const V dval){
int i;
sz++;
for(i=sz-1;i>k;i--){
a[i]= a[i-1];
}
for(i=sz-1;i>k;i--){
b[i]= b[i-1];
}
for(i=sz-1;i>k;i--){
c[i]= c[i-1];
}
for(i=sz-1;i>k;i--){
d[i]= d[i-1];
}
a[k]= aval;
b[k]= bval;
c[k]= cval;
d[k]= dval;
}
struct graph{
int N;
int*es;
int**edge;
void setEdge(int N__, int M, int A[], int B[], void**mem =&wmem){
int i;
N = N__;
walloc1d(&es, N, mem);
walloc1d(&edge, N, mem);
for(i=(0);i<(N);i++){
es[i]=0;
}
for(i=(0);i<(M);i++){
es[A[i]]++;
es[B[i]]++;
}
for(i=(0);i<(N);i++){
walloc1d(&edge[i], es[i], mem);
}
for(i=(0);i<(N);i++){
es[i]=0;
}
for(i=(0);i<(M);i++){
edge[A[i]][es[A[i]]++]= B[i];
edge[B[i]][es[B[i]]++]= A[i];
}
}
}
;
template<class T>struct wgraph{
int N;
int*es;
int**edge;
T **cost;
graph g;
void setEdge(int N__, int M, int A[], int B[], T C[], void**mem =&wmem){
int i;
N = N__;
walloc1d(&es, N, mem);
for(i=(0);i<(N);i++){
es[i]=0;
}
for(i=(0);i<(M);i++){
es[A[i]]++;
es[B[i]]++;
}
walloc1d(&edge, N, mem);
for(i=(0);i<(N);i++){
walloc1d(&edge[i], es[i], mem);
}
walloc1d(&cost, N, mem);
for(i=(0);i<(N);i++){
walloc1d(&cost[i], es[i], mem);
}
for(i=(0);i<(N);i++){
es[i]=0;
}
for(i=(0);i<(M);i++){
edge[A[i]][es[A[i]]]= B[i];
edge[B[i]][es[B[i]]]= A[i];
cost[A[i]][es[A[i]]++]= C[i];
cost[B[i]][es[B[i]]++]= C[i];
}
g.N= N;
g.es= es;
g.edge= edge;
}
template<class S>void getDistForest(int root, S res[], S unreachable =-1, void*mem = wmem){
int i;
int j;
int k;
int*q;
int s;
int z;
char*r;
walloc1d(&q,N,&mem);
walloc1d(&r,N,&mem);
for(i=(0);i<(N);i++){
r[i]=0;
}
res[root]=0;
r[root]=1;
s=0;
z=1;
q[0]=root;
while(z){
i=q[s++];
z--;
for(j=(0);j<(es[i]);j++){
k=edge[i][j];
if(r[k]){
continue;
}
res[k]=res[i]+cost[i][j];
r[k]=1;
q[s+z++]=k;
}
}
for(i=(0);i<(N);i++){
if(!r[i]){
res[i]=unreachable;
}
}
}
}
;
#define main dummy_main
int main(){
wmem = memarr;
return0;
}
#undef main
int M;
int A[100000];
int B[100000];
int C[100000];
int dist[100000];
wgraph<int> g;
class Solution{
public:
int numOfMinutes(int N, int headID, vector<int>& manager, vector<int>& informTime){
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status