Submission #1241261

#TimeUsernameProblemLanguageResultExecution timeMemory
1241261hynmjStations (IOI20_stations)C++20
0 / 100
307 ms608 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,-1,0); graph.clear(); return labels; } int find_next_station(int s, int t, std::vector<int> c) { int n = c.size(); if (n==1) return c[0]; if (s <= c[0]) { if (t<c[0]) return c[n-1]; for (int i=n-1;i;i--) { if (c[i-1] < t and c[i] <= t) { return c[i]; } } return c[0]; } else { for (int i=1;i<n-1;i++) { if (c[i-1] <= t and c[i] < t) { 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...