Submission #1237572

#TimeUsernameProblemLanguageResultExecution timeMemory
1237572karelStations (IOI20_stations)C++20
0 / 100
1 ms416 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define all(a) begin(a), end(a) typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> ii; typedef vector<ii> vii; vvi edges; int c = 0; vector<int> labels; vi visited; void dfs(int at, int from) { visited[at] = true; for(auto to: edges[at]) { if(to != from && !visited[to]) { dfs(to, at); } } labels[at] = c++; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { edges.resize(n); labels.resize(n); visited.resize(n, false); for(int i = 0; i < u.size(); i++) { if(u[i] >= n || v[i] >= n) return {}; edges[u[i]].push_back(v[i]); edges[v[i]].push_back(u[i]); } dfs(0, -1); return {}; } int find_next_station(int s, int t, std::vector<int> c) { if(t > s) return c.back(); auto it = lower_bound(all(c), t); if(it == c.end()) return c.back(); return *it; }
#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...