Submission #1317227

#TimeUsernameProblemLanguageResultExecution timeMemory
1317227huseynahmadli2010Dreaming (IOI13_dreaming)C++20
0 / 100
27 ms7956 KiB
#include "dreaming.h"
#include <bits/stdc++.h>

using namespace std;

const int sz=1e6+5;

vector<pair<int,int>> graph[sz];

bool visited[sz];

int sum=0;

void dfs(int v)
{
    visited[v]=true;
    
    for(auto &[to,w] : graph[v])
    {
        if(!visited[to])
        {
            dfs(to);
            
            sum+=w;
        }
    }
}

int travelTime(int n,int m,int l,int a[],int b[],int t[])
{
    for(int i=0;i<m;i++)
    {
        graph[a[i]].push_back({b[i],t[i]});
        
        graph[b[i]].push_back({a[i],t[i]});
    }
    
    vector<int> res;
    
    for(int i=0;i<n;i++)
    {
        if(!visited[i])
        {
            dfs(i);
            
            res.push_back(sum);
            
            sum=0;
        }
    }
    
    if(res.size()==1)
        return res[0];
    
    sort(res.rbegin(),res.rend());
    
    return (res[0]+res[1]+l);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...