Submission #550593

#TimeUsernameProblemLanguageResultExecution timeMemory
550593krit3379Stations (IOI20_stations)C++17
0 / 100
3120 ms1329236 KiB
#include<bits/stdc++.h> using namespace std; #include"stations.h" #define N 100005 int st[N],en[N],sz; vector<int> g[N]; void dfs(int s,int f){ st[s]=++sz; for(auto x:g[s]){ if(x==f)continue; dfs(x,s); } en[s]=sz; } vector<int> label(int n, int k, vector<int> u, vector<int> v){ int i,a,b; vector<int> vec; vec.push_back(0); for(i=0;i<=n;i++)g[i].clear(); for(i=1;i<n;i++){ a=u[i],b=v[i]; g[a].push_back(b); g[b].push_back(a); vec.push_back(i); } sz=0; dfs(0,-1); return vec; } int find_next_station(int s, int t,vector<int> c){ if(st[s]<=st[t]&&st[t]<=en[s])for(auto x:c)if(st[x]<=st[t]&&st[t]<=en[x])return x; else for(auto x:c)if(st[x]<st[s])return x; }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:35:7: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   35 |     if(st[s]<=st[t]&&st[t]<=en[s])for(auto x:c)if(st[x]<=st[t]&&st[t]<=en[x])return x;
      |       ^
stations.cpp:37:1: warning: control reaches end of non-void function [-Wreturn-type]
   37 | }
      | ^
#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...