제출 #361726

#제출 시각아이디문제언어결과실행 시간메모리
361726David_M꿈 (IOI13_dreaming)C++14
0 / 100
61 ms15980 KiB
#include "dreaming.h" #include<bits/stdc++.h> using namespace std; int d[3][1<<17],f[1<<17],W[1<<17],w,e,D,F,S; vector<pair<int,int> >v[1<<17]; void dfs(int x,int o){ f[x]++; if(o<2&&d[o][x]>=D)e=x,D=d[o][x]; if(o>1)D=min(D,max(d[1][x],d[2][x])); for(auto y:v[x])if(f[y.first]<=o)d[o][y.first]=d[o][x]+y.second,dfs(y.first,o); } int travelTime(int N,int M,int L,int A[],int B[],int T[]){ while(M--)v[A[M]].push_back({B[M],T[M]}),v[B[M]].push_back({A[M],T[M]}); while(N--)if(!f[N])dfs(N,0),dfs(e,1),dfs(e,2),W[w++]=-D,D=0; sort(W,W+w); return max(-W[0],-W[2]+L)-W[1]+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...