Submission #64352

#TimeUsernameProblemLanguageResultExecution timeMemory
64352theknife2001Dreaming (IOI13_dreaming)C++17
0 / 100
64 ms10616 KiB
#include <bits/stdc++.h> #include "dreaming.h" #define ii pair< int , int > #define se second #define fi first using namespace std; const int N=1e5+55; vector < ii > vec[N]; bool visited[N]; int root; int d; int l=1e9+5000; int dfs(int u , int p ,bool q) { // cout<<u<<' '<<p<<endl; visited[u]=1; int d1=0,d2=0; int v,c; int temp=0; for(auto x:vec[u]) { v=x.fi; c=x.se; if(v==p) continue; temp=dfs(v,u,q); temp+=c; if(temp>d2) d2=temp; if(d2>d1) swap(d1,d2); } if(!q&&d<d1+d2) { root=u; d=d1+d2; } if(q) { if(l>max(d1,d-d1)) l=max(d1,d-d1); } // cout<<u<<' '<<d1<<' '<<d2<<' '<<l<<endl; return d1; } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { for(int i=0;i<N;i++) { vec[B[i]].push_back({A[i],T[i]}); vec[A[i]].push_back({B[i],T[i]}); } int l1=-1,l2; for(int i=0;i<N;i++) { if(visited[i]==0) { if(l1==-1) { dfs(i,0,0); l=1e9+5555; dfs(i,0,1); l1=l; } else { d=0; dfs(i,0,0); l=1e9+5000; dfs(i,0,1); l2=l; } } } return l1+l2+L; }

Compilation message (stderr)

dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:79:14: warning: 'l2' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return l1+l2+L;
            ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...