제출 #96747

#제출 시각아이디문제언어결과실행 시간메모리
96747figter001꿈 (IOI13_dreaming)C++14
14 / 100
99 ms10660 KiB
#include "dreaming.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5; vector<pair<int,int>> g[maxn]; bool idx[maxn]; vector<int> C; int sz[maxn],mx,to,used[maxn],cst[maxn][2],t,best,mn,vis[maxn],c; void path(int u,int cost){ idx[u] = vis[u] = c; if(cost > mx){ mx = cost; to = u; } for(pair<int,int> cur : g[u]){ int v = cur.first; int w = cur.second; if(vis[v] == c)continue; path(v,cost + w); } } void dfs(int u,int cost){ vis[u] = c; cst[u][t] = cost; if(t == 1){ if(max(cst[u][0],cst[u][1]) < mn){ mn = max(cst[u][0],cst[u][1]); best = u; } } for(pair<int,int> cur : g[u]){ int v = cur.first; int w = cur.second; if(vis[v] == c)continue; dfs(v,cost + w); } } void find(int s){ mn = 2e9; mx = 0; c++; path(s,0); t = 0; c++; dfs(to,0); c++; mx = 0; path(to,0); t = 1; c++; dfs(to,0); s = best; C.push_back(s); } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { for(int i=0;i<M;i++){ g[A[i]].push_back({B[i],T[i]}); g[B[i]].push_back({A[i],T[i]}); } for(int i=0;i<N;i++) if(!idx[i]) find(i); for(int i=1;i<C.size();i++){ g[C[i]].push_back({C[0],L}); g[C[0]].push_back({C[i],L}); } c++; mx = 0; path(0,0); c++; mx = 0; path(to,0); return mx; }

컴파일 시 표준 에러 (stderr) 메시지

dreaming.cpp: In function 'void path(int, int)':
dreaming.cpp:15:18: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
  idx[u] = vis[u] = c;
           ~~~~~~~^~~
dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:71:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=1;i<C.size();i++){
              ~^~~~~~~~~
#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...