248632026-02-16 09:55:50szabelrLogisztikai központcpp17Accepted 50/50128ms18876 KiB
#include <iostream>
#include <vector>
#include <climits>

using namespace std;
void dfs(int &A,int v,vector<vector<pair<int,long long>>> &adj,vector<bool> &visited,vector<long long> &dist)
{
    for(auto to:adj[v])
    {
        if(!visited[to.first])
        {
            dist[to.first]=dist[v]+to.second;
            if(dist[to.first]>dist[A])
            {
                A=to.first;
            }
            visited[to.first]=true;
            dfs(A,to.first,adj,visited,dist);
        }
    }

}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin>>n;
    vector<vector<pair<int,long long>>> adj(n+1);
    for(int i=1; i<n; i++)
    {
        int a,b,c;
        cin>>a>>b>>c;
        adj[a].push_back({b,c});
        adj[b].push_back({a,c});
    }
    vector<bool> visited(n+1,false);
    vector<long long> dist(n+1,0);
    visited[1]=true;
    int A=1,B=1;
    dfs(A,1,adj,visited,dist);
    visited.assign(n+1,false);
    dist.assign(n+1, 0);
    visited[A]=true;
    dfs(B,A,adj,visited,dist);
    vector<long long> distB(n+1,0);
    visited.assign(n+1,false);
    visited[B]=true;
    dfs(A,B,adj,visited,distB);
    long long mini=LLONG_MAX;
    vector<long long> tavok(n+1);
    for(int i=1; i<=n; i++)
    {
        tavok[i]=max(dist[i],distB[i]);
        mini = min(mini,tavok[i]);
    }
    cout<<mini<<endl;
    vector<long long> res;
    for(int i=1; i<=n; i++)
    {
        if(tavok[i]==mini)
            res.push_back(i);
    }
    cout<<res.size()<<endl;
    for(auto x:res)
        cout<<x<<" ";
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms316 KiB
2Accepted0/098ms9268 KiB
3Accepted4/41ms316 KiB
4Accepted4/41ms316 KiB
5Accepted4/41ms316 KiB
6Accepted4/41ms316 KiB
7Accepted4/41ms316 KiB
8Accepted5/51ms316 KiB
9Accepted2/2128ms10052 KiB
10Accepted2/2122ms10112 KiB
11Accepted2/21ms316 KiB
12Accepted2/22ms564 KiB
13Accepted2/24ms828 KiB
14Accepted2/27ms1336 KiB
15Accepted2/279ms9376 KiB
16Accepted2/279ms8836 KiB
17Accepted2/297ms9536 KiB
18Accepted2/261ms7216 KiB
19Accepted2/268ms9732 KiB
20Accepted3/3115ms18876 KiB