Submission #320375

#TimeUsernameProblemLanguageResultExecution timeMemory
320375keta_tsimakuridzeDreaming (IOI13_dreaming)C++14
14 / 100
86 ms16100 KiB
#include "dreaming.h" #include<bits/stdc++.h> #define f first #define s second using namespace std; const int N=1e5+5; vector<pair<int,int> > V[N]; int fix[N],st[N],MxR,Mxr,mx,ans,Mx,h[N][2],R; void dfs(int u,int p,int t){ fix[u]=1; if(h[u][t]>mx) { mx=h[u][t]; Mx=u; } for(int i=0;i<V[u].size();i++){ if(V[u][i].f!=p) { h[V[u][i].f][t]=h[u][t]+V[u][i].s; dfs(V[u][i].f,u,t); } } } void dfs1(int u,int p){ R=min(R,max(h[u][0],h[u][1])); for(int i=0;i<V[u].size();i++){ if(V[u][i].f!=p){ dfs1(V[u][i].f,u); } } } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { for(int i=0;i<M;i++){ V[A[i]].push_back({B[i],T[i]}); V[B[i]].push_back({A[i],T[i]}); } for(int i=0;i<N;i++){ if(!fix[i]){ mx=0; dfs(i,-1,0); mx=0; R=N; // mx1=Mx; h[Mx][0]=0; dfs(Mx,-1,0); ans=max(ans,mx); dfs(Mx,-1,1); dfs1(i,-1); if(MxR<R){ swap(MxR,Mxr); MxR=R; } else if(Mxr<R){ Mxr=R; } } } ans=max(ans,MxR+Mxr+L); return ans; }/* int main() { int N, M, L, i; int res; cin>>N>>M>>L; for (i = 0; i < M; i++) cin>>A[i]>>B[i]>>T[i]; int answer = travelTime(N, M, L, A, B, T); printf("%d\n", answer); return 0; } */

Compilation message (stderr)

dreaming.cpp: In function 'void dfs(int, int, int)':
dreaming.cpp:15:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |  for(int i=0;i<V[u].size();i++){
      |              ~^~~~~~~~~~~~
dreaming.cpp: In function 'void dfs1(int, int)':
dreaming.cpp:24:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |  for(int i=0;i<V[u].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...