This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//Bismillahirrahmanirrahim
#include "dreaming.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long lo;
typedef pair< int,int > PII;
#define fi first
#define se second
#define mp make_pair
#define endl "\n"
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=0;i<n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
const lo inf = 2000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 500005;
const lo mod = 1000000007;
int n,m,b[li],a[li],k,flag,t,co[li],vis[li],mx[li],mn,maxi,ind;
int cev;
string s;
vector<PII> v[li];
vector<int> vec;
//~ int A[li],B[li],T[li];
inline void dfs(int node,int ata,int der){
vis[node]=1;
int mx1=0,mx2=0;
for(int i=0;i<(int)v[node].size();i++){
int go=v[node][i].fi;
if(go==ata)continue;
dfs(go,node,der+v[node][i].se);
}
if(maxi<der)ind=node;
maxi=max(maxi,der);
mx[node]=max(mx[node],der);
mn=min(mn,mx[node]);
}
int travelTime(int n, int m, int l, int A[], int B[], int T[]) {
for(int i=0;i<m;i++){
v[A[i]].pb({B[i],T[i]});
v[B[i]].pb({A[i],T[i]});
}
FOR{
if(vis[i])continue;
mn=inf;
maxi=0;
ind=i;
dfs(i,-1,0);
mn=inf;
//~ ind=i;
maxi=0;
dfs(ind,-1,0);
maxi=0;
//~ ind=i;
mn=inf;
dfs(ind,-1,0);
//~ cout<<mn<<endl;
vec.pb(mn);
}
sort(vec.begin(),vec.end());
reverse(vec.begin(),vec.end());
//~ for(int i=0;i<(int)vec.size();i++)cout<<vec[i]<<endl;
for(int i=1;i<(int)vec.size();i++){
cev=max(cev,vec[0]+vec[i]+l);
}
for(int i=2;i<(int)vec.size();i++){
cev=max(cev,vec[1]+vec[i]+2*l);
}
return cev;
}
Compilation message (stderr)
dreaming.cpp: In function 'void dfs(int, int, int)':
dreaming.cpp:35:6: warning: unused variable 'mx1' [-Wunused-variable]
35 | int mx1=0,mx2=0;
| ^~~
dreaming.cpp:35:12: warning: unused variable 'mx2' [-Wunused-variable]
35 | int mx1=0,mx2=0;
| ^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |