제출 #863343

#제출 시각아이디문제언어결과실행 시간메모리
863343NeroZeinStations (IOI20_stations)C++17
100 / 100
523 ms1544 KiB
#include "stations.h" #include "bits/stdc++.h" using namespace std; vector<int> label(int n, int k, vector<int> ui, vector<int> vi) { vector<int> labels(n); vector<vector<int>> g(n); for (int i = 0; i < n - 1; ++i) { g[ui[i]].push_back(vi[i]); g[vi[i]].push_back(ui[i]); } int cu = 0; function<void(int, int, bool)> Dfs = [&](int v, int p, bool uin) { if (uin) { labels[v] = cu++; } for (int u : g[v]) { if (u != p) { Dfs(u, v, uin ^ 1); } } if (!uin) { labels[v] = cu++; } }; Dfs(0, 0, 1); return labels; } int find_next_station(int s, int t, vector<int> c) { sort(c.begin(), c.end()); if (c.size() == 1) { return c[0]; } if (c[0] < s) {//I have my tin int l = c[1], r = s; if (t >= l && t <= r) { for (int i = (int) c.size() - 1; i >= 0; --i) { if (c[i] <= t) { return c[i]; } } } else { return c[0]; } } else { int l = s, r = c[c.size() - 2]; if (t >= l && t <= r) { for (int i = 0; i < (int) c.size(); ++i) { if (c[i] >= t) { return c[i]; } } } else { return c.back(); } } }

컴파일 시 표준 에러 (stderr) 메시지

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
   59 | }
      | ^
#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...