제출 #1179065

#제출 시각아이디문제언어결과실행 시간메모리
1179065vicvic꿈 (IOI13_dreaming)C++20
컴파일 에러
0 ms0 KiB
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX=1e5;
vector <pair <int, int>> vec[NMAX+5];
vector <pair <int, int>> comp;
int viz[NMAX+5], root, diameter, radius, depth[NMAX+5];
void dfs (int nod, int tatal, int d, bool dif)
{
    viz[nod]=1;
    if (d >= diameter)
    {
        diameter = d;
        root = nod;
    }
    if (dif)
    {
        radius=min (radius, max(d, depth[nod]));
    }
    else depth[nod] = d;
    for (auto adj : vec[nod])
    {
        if (adj.first==tatal)
            continue;
        dfs (adj.first, nod, d+adj.second, dif);
    }
}
int travelTime (int n, int m, int l, int *a, int *b, int *c)
{
    int ret=0;
    for (int i=0;i<m;i++)
    {
        vec[a[i]].push_back ({b[i], c[i]});
        vec[b[i]].push_back ({a[i], c[i]});
    }
    for (int i=0;i<n;i++)
    {
        if (viz[i])
            continue;
        diameter=0;
        radius=2e9;
        dfs (i, -1, 0, 0);
        dfs (root, -1, 0, 0);
        dfs (root, -1, 0, 1);
        comp.push_back ({radius, diameter});
    }
    sort (comp.begin(), comp.end(), greater <pair <int, int>> ());
    ret=max (ret, comp[0].second);
    if (comp.size()>=2) ret=max (ret, comp[0].first+comp[1].first+l);
    if (comp.size()>=3) ret=max (ret, comp[1].first+comp[2].first+2*l);
    return ret;
}

컴파일 시 표준 에러 (stderr) 메시지

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