Submission #1241252

#TimeUsernameProblemLanguageResultExecution timeMemory
1241252hynmjStations (IOI20_stations)C++20
0 / 100
3116 ms1923972 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; map<int, vector<int>> graph; vector<int> labels; int times; void dfs(int node, int parent, int depth) { if ((depth )%2==1) { labels[node] = ++times; } for (int i:graph[node]) { if (i!=parent) { dfs(i,node,depth+1); } } if ((depth )%2==1) { labels[node] = ++times; } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { times = -1; labels.resize(n); for (int i=0;i<n-1; i++) { graph[u[i]].push_back(v[i]); graph[v[i]].push_back(u[i]); } dfs(1,0,0); return labels; } int find_next_station(int s, int t, std::vector<int> c) { int n = c.size(); if (s <= c[0] ) { for (int i=n-1;i;i--) { if (c[i-1] < s and c[i] <= s) { return c[i]; } } return c[0]; } else { for (int i=1;i<n-1;i++) { if (c[i-1] <= s and c[i] < s) { return c[i]; } return c[n-1]; } } return -1; }
#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...