Submission #1358817

#TimeUsernameProblemLanguageResultExecution timeMemory
1358817Charizard2021Dreaming (IOI13_dreaming)C++20
Compilation error
0 ms0 KiB
#include "dreaming.h"
#include<bits/stdc++.h>
using namespace std;
vector<vector<pair<int, int> > > adj;
vector<bool> visited;
vector<long long> res;
long long dfs(int u, int p){
    long long ans = 0;
    for(pair<int, int> x : adj[u]){
        int v = x.first;
        if(v != p){
            ans = max(ans, dfs(v, u) + x.second);
        }
    }
    return ans;
}
long long dfs2(int u, int p){
    visited[u] = true;
    long long ans = res[u];
    for(pair<int, int> x : adj[u]){
        int v = x.first;
        if(v != p){
            ans = min(ans, dfs2(v, u));
        }
    }
    return ans;
}
int travelTime(int N, int M, int L, int A[], int B[], int T[]){
    adj.resize(N);
    visited.resize(N);
    res.resize(N);
    for(int i = 0; i < M; i++){
        adj[A[i]].push_back(make_pair(B[i], T[i]));
        adj[B[i]].push_back(make_pair(A[i], T[i]));
    }
    long long mxDiameter = 0;
    for(int i = 0; i < N; i++){
        res[i] = dfs(i, -1);
        mxDiameter = max(mxDiameter, res[i]);
    }
    vector<long long> thing;
    for(int i = 0; i < N; i++){
        if(!visited[i]){
            thing.push_back(dfs2(i, -1));
        }
    }
    sort(thing.begin(), thing.end());
    reverse(thing.begin(), thing.end());
    if((int)thing.size() > 1){
        long long stuff1 = thing[0] + thing[1] + L;
        if((int)thing.size() == 2){
            return stuff1;
        }
        else{
            return max(stuff1, thing[1] + thing[2] + 2 * L);
        }
    }
    else{
        return thing[0];
    }
}
int main(){
    int n, m, l;
    cin >> n >> m >> l;
    int a[m];
    int b[m];
    int t[m];
    for(int i = 0; i < m; i++){
        cin >> a[i] >> b[i] >> t[i];
    }
    cout << travelTime(n, m, l, a, b, t) << "\n";
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccpW8vzB.o: in function `main':
grader.c:(.text.startup+0x0): multiple definition of `main'; /tmp/cceevaBv.o:dreaming.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status