Submission #1085025

#TimeUsernameProblemLanguageResultExecution timeMemory
1085025ZeroCoolStations (IOI20_stations)C++14
100 / 100
673 ms1044 KiB
#include "stations.h" #include <vector> #include <bits/stdc++.h> using namespace std; const int N = 1000; vector<int> g[N];vector<int> A; int T = 0;void dfs(int x,int p, bool b){ if(b){ for(auto u: g[x]){ if(u == p)continue; dfs(u, x, !b); } A[x] = T++; }else{ A[x] = T++; for(auto u: g[x]){ if(u == p)continue; dfs(u, x, !b); } }} std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { T = 0; A.clear(); A.resize(n); for(int i = 0;i < n;i++)g[i].clear(); for(int i = 0;i < n- 1;i ++){ g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } dfs(0, 0,0 ); return A;} int find_next_station(int s, int t, std::vector<int> g) { if(g.size() == 1)return g.front(); sort(g.begin(), g.end()); if(s > g.front()){ if(t > s || t <= g.front())return g.front(); return *(upper_bound(g.begin(), g.end(), t) - 1); }else{ if(t < s | t >= g.back())return g.back(); return *lower_bound(g.begin(), g.end(), t); }}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:4:787: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
    4 | using namespace std; const int N = 1000; vector<int> g[N];vector<int> A; int T = 0;void dfs(int x,int p, bool b){ if(b){  for(auto u: g[x]){   if(u == p)continue;   dfs(u, x, !b);  }  A[x] = T++; }else{  A[x] = T++;  for(auto u: g[x]){   if(u == p)continue;   dfs(u, x, !b);  } }} std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { T = 0; A.clear(); A.resize(n); for(int i = 0;i < n;i++)g[i].clear(); for(int i = 0;i < n- 1;i ++){  g[u[i]].push_back(v[i]);  g[v[i]].push_back(u[i]); } dfs(0, 0,0 ); return A;} int find_next_station(int s, int t, std::vector<int> g) { if(g.size() == 1)return g.front(); sort(g.begin(), g.end()); if(s > g.front()){  if(t > s || t <= g.front())return g.front();  return *(upper_bound(g.begin(), g.end(), t) - 1); }else{  if(t < s | t >= g.back())return g.back();  return *lower_bound(g.begin(), g.end(), t); }}
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ~~^~~
#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...