Submission #1219268

#TimeUsernameProblemLanguageResultExecution timeMemory
1219268LeonidCukStations (IOI20_stations)C++20
100 / 100
304 ms612 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; void dfs(int a,int b,vector<vector<int>>&g,vector<pair<int,int>>&res,int &timer,int d) { if(d%2==0)res.push_back({timer,a}); timer++; for(auto i:g[a]) { if(i!=b)dfs(i,a,g,res,timer,d+1); } if(d%2==1)res.push_back({timer,a}); timer++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<vector<int>>g(n); vector<int>ans(n); for(int i=0;i<n-1;i++) { g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } vector<pair<int,int>>res; int timer; dfs(0,0,g,res,timer,0); sort(res.begin(),res.end()); for(int i=0;i<n;i++) { ans[res[i].second]=i; } return ans; } int find_next_station(int s, int t, vector<int> v) { if(s==0) { for(auto i:v) { if(t<=i)return i; } } else if(v[0]<s) { for(int i=1;i<v.size();i++) { if(i+1==v.size()) { if(v[i]<=t&&t<s)return v[i]; } else { if(v[i]<=t&&t<v[i+1])return v[i]; } } return v[0]; } else { for(int i=0;i<v.size()-1;i++) { if(i==0) { if(s<t&&t<=v[i])return v[i]; } else { if(v[i-1]<t&&t<=v[i])return v[i]; } } return v[v.size()-1]; } }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:73:1: warning: control reaches end of non-void function [-Wreturn-type]
   73 | }
      | ^
#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...