Submission #1154805

#TimeUsernameProblemLanguageResultExecution timeMemory
1154805njoopDreaming (IOI13_dreaming)C++17
Compilation error
0 ms0 KiB
#include "dreaming.h" #include <bits/stdc++.h> #define ti tuple<int, int, int> using namespace std; vector<pair<int, int>> g[100010]; vector<int> dis; priority_queue<ti, vector<ti>, greater<ti>> pq; int cno, cpa, cdi, nno, ndi, disa[100010], disb[100010], ans; bool vi[100010]; int findMxRoot(int rt) { vector<int> no; int a, b; pq.push({0, rt, -1}); while(pq.size()) { cdi = get<0>(pq.top()); cno = get<1>(pq.top()); cpa = get<2>(pq.top()); pq.pop(); a = cno; vi[cno] = 1; no.push_back(cno); for(auto i: g[cno]) { nno = i.first; ndi = cdi + i.second; if(cpa == nno) continue; pq.push({ndi, nno, cno}); } } pq.push({0, a, -1}); while(pq.size()) { cdi = get<0>(pq.top()); cno = get<1>(pq.top()); cpa = get<2>(pq.top()); pq.pop(); b = cno; disa[cno] = cdi; for(auto i: g[cno]) { nno = i.first; ndi = cdi + i.second; if(cpa == nno) continue; pq.push({ndi, nno, cno}); } } pq.push({0, b, -1}); while(pq.size()) { cdi = get<0>(pq.top()); cno = get<1>(pq.top()); cpa = get<2>(pq.top()); pq.pop(); disb[cno] = cdi; for(auto i: g[cno]) { nno = i.first; ndi = cdi + i.second; if(cpa == nno) continue; pq.push({ndi, nno, cno}); } } int mxrt = 2e9; for(int i: no) { mxrt = min(mxrt, max(disa[i], disb[i])); } return mxrt; } int travelTime(int N, int M, int L, vector<int> A, vector<int> B, vector<int> T) { for(int i=0; i<M; i++) { g[B[i]].push_back({A[i], T[i]}); g[A[i]].push_back({B[i], T[i]}); } for(int i=0; i<N; i++) { if(!vi[i]) dis.push_back(findMxRoot(i)); } sort(dis.begin(), dis.end()); int sz = dis.size(); if(sz == 1) ans = dis[0]; else if(sz == 2) ans = dis[0] + L + dis[1]; else ans = max(dis[sz-2]+dis[sz-3]+2*L, dis[sz-1]+dis[sz-2]+L); return ans; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccWWiIXz.o: in function `main':
grader.c:(.text.startup+0xc4): undefined reference to `travelTime'
collect2: error: ld returned 1 exit status