Submission #305712

#TimeUsernameProblemLanguageResultExecution timeMemory
305712peti1234Stations (IOI20_stations)C++17
100 / 100
1154 ms1232 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; const int c=1002; vector<int> sz[c], sol; bool v[c]; int cnt; void dfs(int a, bool b) { v[a]=1; if (!b) sol[a]=cnt++; for (int i=0; i<sz[a].size(); i++) { int x=sz[a][i]; if (!v[x]) dfs(x, !b); } if (b) sol[a]=cnt++; } vector<int> label(int n, int k, vector<int> x, vector<int> y) { for (int i=0; i<n; i++) sz[i].clear(), v[i]=0, cnt=0, sol.clear(); sol.resize(n); for (int i=0; i<n-1; i++) sz[x[i]].push_back(y[i]), sz[y[i]].push_back(x[i]); dfs(0, 0); return sol; } int find_next_station(int s, int t, vector<int> sz) { int x=sz[0], y=sz.back(), si=sz.size(); if (s<x) { if (t<s || t>y) return y; for (int i=0; i<si; i++) if (sz[i]>=t) return sz[i]; } if (t>s || t<x) return x; for (int i=si-1; i>0; i--) if (sz[i]<=t) return sz[i]; }

Compilation message (stderr)

stations.cpp: In function 'void dfs(int, bool)':
stations.cpp:11:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     for (int i=0; i<sz[a].size(); i++) {
      |                   ~^~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:32:1: warning: control reaches end of non-void function [-Wreturn-type]
   32 | }
      | ^
#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...