Submission #345707

#TimeUsernameProblemLanguageResultExecution timeMemory
345707daniel920712Crocodile's Underground City (IOI11_crocodile)C++14
46 / 100
192 ms262144 KiB
#include "crocodile.h" #include <vector> #include <utility> #include <algorithm> using namespace std; bool is[100005]; vector < pair < long long , long long > > Next[100005]; long long F(long long fa,long long here) { //printf("%lld %lld\n",fa,here); long long t; vector < long long > tt; if(is[here]) return 0; for(auto i:Next[here]) { if(i.first!=fa) { t=F(here,i.first); //printf("%lld %lld\n",i.first,t); if(t!=-1) tt.push_back(t+i.second); } } sort(tt.begin(),tt.end()); if(tt.size()>=2) return tt[1]; else return -1; } int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { int i; for(i=0;i<M;i++) { Next[R[i][0]].push_back(make_pair((long long) R[i][1],(long long) L[i])); Next[R[i][1]].push_back(make_pair((long long) R[i][0],(long long) L[i])); } for(i=0;i<K;i++) is[P[i]]=1; return (int) F(-1,0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...