Submission #255426

#TimeUsernameProblemLanguageResultExecution timeMemory
255426baboDreaming (IOI13_dreaming)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define LL long long using namespace std; vector<L>v[100010],t[100010]; LL n,len; LL diam; multiset<LL>rad; LL chk[100010]; LL ord[100010],ordend[100010],ordtop; LL max2(LL a,LL b,LL c){ if(a<=b&&a<=c) return b+c; if(b<=c&&b<=a) return c+a; if(c<=a&&c<=b) return a+b; } struct S{ LL ma1,ma1d,ma2,ma2d; S(){ ma1=ma1d=ma2=ma2d=0; } void insert(LL dist,LL loc){ if(dist>=ma1) { ma2=ma1; ma2d=ma1d; ma1=dist; ma1d=loc; } else if(dist>=ma2) { ma2=dist; ma2d=loc; } } }S[100010]; void dfs(LL x,LL bu){ ordtop++; ord[x]=ordtop; LL i; S[x].insert(0,x); for(i=0;i<v[x].size();i++) { if(v[x][i]!=bu) { chk[v[x][i]]=1; dfs(v[x][i],x); S[x].insert(S[v[x][i]].ma1+t[x][i],S[v[x][i]].ma1d); } } diam=max(diam,S[x].ma1+S[x].ma2); ordend[x]=ordtop; } LL dfs2(LL x,LL bu,LL give){ LL i,ret=max2(give,S[x].ma1,S[x].ma2); for(i=0;i<v[x].size();i++) { if(v[x][i]!=bu) { if(ord[v[x][i]]<=ord[S[x].ma1d]&&ord[S[x].ma1d]<=ordend[v[x][i]]) { if(S[x].ma2d) ret=min(ret,dfs2(v[x][i],x,max(give+t[x][i],S[x].ma2))); else ret=min(ret,dfs2(v[x][i],x,give+t[x][i])); } else ret=min(ret,dfs2(v[x][i],x,max(give+t[x][i],S[x].ma1))); } } return ret; } void tree(LL x){ chk[x]=1; dfs(x,-1); rad.insert(dfs2(x,-1,0)); } int travelTime(int N,int M,int l,int A[],int B[],int T[]){ LL i; n=N,len=l; for(i=0;i<M;i++) { v[A[i]].push_back(B[i]); v[B[i]].push_back(A[i]); t[A[i]].push_back(T[i]); t[B[i]].push_back(T[i]); } for(i=0;i<N;i++) { if(!chk[i]) tree(i); } if(rad.size()==1) return (int)diam; else return max((int)diam,(int)(len+*prev(rad.end())+*prev(prev((rad.end()))))); }

Compilation message (stderr)

dreaming.cpp:6:8: error: 'L' was not declared in this scope
 vector<L>v[100010],t[100010];
        ^
dreaming.cpp:6:8: note: suggested alternative: 'LL'
 vector<L>v[100010],t[100010];
        ^
        LL
dreaming.cpp:6:9: error: template argument 1 is invalid
 vector<L>v[100010],t[100010];
         ^
dreaming.cpp:6:9: error: template argument 2 is invalid
dreaming.cpp: In function 'void dfs(long long int, long long int)':
dreaming.cpp:46:17: error: request for member 'size' in 'v[x]', which is of non-class type 'int'
  for(i=0;i<v[x].size();i++)
                 ^~~~
dreaming.cpp:48:12: error: invalid types 'int[long long int]' for array subscript
   if(v[x][i]!=bu)
            ^
dreaming.cpp:50:14: error: invalid types 'int[long long int]' for array subscript
    chk[v[x][i]]=1;
              ^
dreaming.cpp:51:14: error: invalid types 'int[long long int]' for array subscript
    dfs(v[x][i],x);
              ^
dreaming.cpp:52:24: error: invalid types 'int[long long int]' for array subscript
    S[x].insert(S[v[x][i]].ma1+t[x][i],S[v[x][i]].ma1d);
                        ^
dreaming.cpp:52:37: error: invalid types 'int[long long int]' for array subscript
    S[x].insert(S[v[x][i]].ma1+t[x][i],S[v[x][i]].ma1d);
                                     ^
dreaming.cpp:52:47: error: invalid types 'int[long long int]' for array subscript
    S[x].insert(S[v[x][i]].ma1+t[x][i],S[v[x][i]].ma1d);
                                               ^
dreaming.cpp: In function 'long long int dfs2(long long int, long long int, long long int)':
dreaming.cpp:61:17: error: request for member 'size' in 'v[x]', which is of non-class type 'int'
  for(i=0;i<v[x].size();i++)
                 ^~~~
dreaming.cpp:63:12: error: invalid types 'int[long long int]' for array subscript
   if(v[x][i]!=bu)
            ^
dreaming.cpp:65:17: error: invalid types 'int[long long int]' for array subscript
    if(ord[v[x][i]]<=ord[S[x].ma1d]&&ord[S[x].ma1d]<=ordend[v[x][i]])
                 ^
dreaming.cpp:65:66: error: invalid types 'int[long long int]' for array subscript
    if(ord[v[x][i]]<=ord[S[x].ma1d]&&ord[S[x].ma1d]<=ordend[v[x][i]])
                                                                  ^
dreaming.cpp:68:29: error: invalid types 'int[long long int]' for array subscript
      ret=min(ret,dfs2(v[x][i],x,max(give+t[x][i],S[x].ma2)));
                             ^
dreaming.cpp:68:48: error: invalid types 'int[long long int]' for array subscript
      ret=min(ret,dfs2(v[x][i],x,max(give+t[x][i],S[x].ma2)));
                                                ^
dreaming.cpp:69:33: error: invalid types 'int[long long int]' for array subscript
     else ret=min(ret,dfs2(v[x][i],x,give+t[x][i]));
                                 ^
dreaming.cpp:69:48: error: invalid types 'int[long long int]' for array subscript
     else ret=min(ret,dfs2(v[x][i],x,give+t[x][i]));
                                                ^
dreaming.cpp:72:28: error: invalid types 'int[long long int]' for array subscript
     ret=min(ret,dfs2(v[x][i],x,max(give+t[x][i],S[x].ma1)));
                            ^
dreaming.cpp:72:47: error: invalid types 'int[long long int]' for array subscript
     ret=min(ret,dfs2(v[x][i],x,max(give+t[x][i],S[x].ma1)));
                                               ^
dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:89:11: error: request for member 'push_back' in 'v[(*(A + ((sizetype)(((long unsigned int)i) * 4))))]', which is of non-class type 'int'
   v[A[i]].push_back(B[i]);
           ^~~~~~~~~
dreaming.cpp:90:11: error: request for member 'push_back' in 'v[(*(B + ((sizetype)(((long unsigned int)i) * 4))))]', which is of non-class type 'int'
   v[B[i]].push_back(A[i]);
           ^~~~~~~~~
dreaming.cpp:91:11: error: request for member 'push_back' in 't[(*(A + ((sizetype)(((long unsigned int)i) * 4))))]', which is of non-class type 'int'
   t[A[i]].push_back(T[i]);
           ^~~~~~~~~
dreaming.cpp:92:11: error: request for member 'push_back' in 't[(*(B + ((sizetype)(((long unsigned int)i) * 4))))]', which is of non-class type 'int'
   t[B[i]].push_back(T[i]);
           ^~~~~~~~~
dreaming.cpp: In function 'long long int max2(long long int, long long int, long long int)':
dreaming.cpp:18:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^