Submission #795880

#TimeUsernameProblemLanguageResultExecution timeMemory
795880BT21tataStations (IOI20_stations)C++17
0 / 100
3044 ms2097152 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; int cur; vector<int> g[1005], labels; void dfs(int v, int p, int x) { if(!x) labels[v]=cur++; for(int u : g[v]) { if(u==p) continue; dfs(u, v, x^1); } if(x) labels[v]=cur++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { labels.resize(n, 0); for(int i=0; i<u.size(); i++) { g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } dfs(0, -1, 0); return labels; } int find_next_station(int s, int t, vector<int> c) { sort(c.begin(), c.end()); if(s<c[0]) { int fs=s; for(int i=0; i<c.size()-1; i++) { if(fs<=t and t<=c[i]) return c[i]; fs=c[i]+1; } return c.back(); } else { int last=s; for(int i=c.size(); i>0; i--) { if(c[i]<=t and t<=last) return c[i]; last=c[i]-1; } return c[0]; } }

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:22:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |  for(int i=0; i<u.size(); i++)
      |               ~^~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:37:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |   for(int i=0; i<c.size()-1; i++)
      |                ~^~~~~~~~~~~
#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...