Submission #1296413

#TimeUsernameProblemLanguageResultExecution timeMemory
1296413eri16Stations (IOI20_stations)C++20
100 / 100
399 ms564 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; vector<int> lbl; int t=-1; vector<vector<int>> adj(1005); void dfs(int node, int parent, int odd){ if (odd){t++;lbl[node]=t;} for(int child : adj[node]) if(child != parent) dfs(child,node,1-odd); if (!odd){t++;lbl[node]=t;} } vector<int> label(int n, int k, vector<int> u, vector<int> v){ lbl.resize(n); adj.assign(n, {}); for(int i=0; i<n-1; i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } t=-1; dfs(0,t,1); return lbl; } int find_next_station(int start, int final, vector<int> rel){ int n=rel.size(); if (start<rel[0]){ if (final<=start){return rel[n-1];} if (start!=0){ for (int i=0; i<n-1; i++){ if (final<=rel[i]){ return rel[i]; } } return rel[n-1]; } for (int i=0; i<n; i++){ if (final<=rel[i]){ return rel[i]; } } } else{ if (final>=start){return rel[0];} for (int i=n-1; i>=0; i--){ if (final>=rel[i]){return rel[i];} } } return rel[0]; }
#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...