제출 #1317965

#제출 시각아이디문제언어결과실행 시간메모리
1317965discontinuous꿈 (IOI13_dreaming)C++20
0 / 100
1097 ms34292 KiB
#include "dreaming.h" #include <algorithm> #include <iostream> #include <queue> #include <utility> #include <vector> #include <map> using namespace std; #define pb push_back int h; map<pair<int, int>, int> weight; vector<int> adj[1000000]; vector<int> vis(1000000); vector<int> par(1000000); int maxdist; void dfs(int node, int dist) { vis[node] = 1; if(dist > maxdist) { maxdist = dist; h = node; } for(auto j : adj[node]) { if(!vis[j]) { par[j] = node; dfs(j, dist+weight[{node, j}]); } } } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { for(int i = 0; i<M; i++) { adj[A[i]].pb(B[i]); adj[B[i]].pb(A[i]); weight[{A[i], B[i]}] = T[i]; weight[{B[i], A[i]}] = T[i]; } vector<int> all; for(int i = 0; i<N; i++) { if(!vis[i]) { h = i; maxdist = 0; dfs(i, 0); for(int j = 0; j<N; j++) { par[j] = 0; vis[j] = 0; } maxdist = 0; dfs(h, 0); all.pb(maxdist); } } sort(all.rbegin(), all.rend()); // for(auto j : all) cout << j << " "; return all[0] + all[1]; } // int32_t main() { // ios::sync_with_stdio(false); // cout.tie(0); cin.tie(0); // cin >> n >> m >> l; // cout << travelTime(n, m, l); // return 0; // }
#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...