제출 #1210309

#제출 시각아이디문제언어결과실행 시간메모리
1210309peraStations (IOI20_stations)C++20
100 / 100
302 ms604 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { std::vector<int> labels(n); vector<vector<int>> g(n); for(int i = 0;i < n - 1;i ++){ g[u[i]].emplace_back(v[i]); g[v[i]].emplace_back(u[i]); } int timer = -1; vector<int> in(n) , out(n); function<void(int , int , bool)> dfs = [&](int u , int p , bool d){ if(d){ labels[u] = ++timer; } for(int v : g[u]){ if(v != p){ dfs(v , u , !d); } } if(!d){ labels[u] = ++timer; } }; dfs(0 , 0 , 0); return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(s > *max_element(c.begin() , c.end())){ reverse(c.begin() , c.end()); } for(int x : c){ int L = min(x , s); int R = max(x , s); if(L <= t && t <= R){ return x; } } return c.back(); }
#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...