Submission #431920

#TimeUsernameProblemLanguageResultExecution timeMemory
431920OzyStations (IOI20_stations)C++17
0 / 100
2382 ms2097156 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; #define lli long long int #define rep(i,a,b) for(int i = (a); i <= (b); i++) #define repa(i,a,b) for(int i = (a); i >= (b); i--) #define debug(a) cout << #a << " = " << a << endl #define debugsl(a) cout << #a << " = " << a << ", " #define MAX 1000 lli act,ini,fin; vector<lli> hijos[MAX+2]; vector<int> res; void DFS (lli pos, lli padre, lli prof) { if (prof%2 == 0) res[pos] = act++; for (auto h : hijos[pos]) { if (h == padre) continue; DFS(h,pos,prof+1); } if (prof%2 == 1) res[pos] = act++; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { //res.resize(n, -1); res = vector<int> (n,0); rep(i,0,n-2) { hijos[u[i]].push_back(v[i]); hijos[v[i]].push_back(u[i]); } act = 0; DFS(0,0,0); return res; } int find_next_station(int s, int t, std::vector<int> c) { if (c.size() == 1) return c[0]; if (s == 0) rep (i,0,c.size()-1) if (t <= c[i]) return c[i]; if (s < c[0]) { ini = s; fin = c[c.size()-2]; if (t < ini || t > fin) return c[c.size()-1]; rep (i,0,c.size()-2) if (t <= c[i]) return c[i]; } else { ini = c[1]; fin = s; if (t < ini || t > fin) return c[0]; repa (i,c.size()-1,1) if (t >= c[i]) return c[i]; } return c[0]; }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:5:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define rep(i,a,b) for(int i = (a); i <= (b); i++)
      |                                       ^
stations.cpp:45:17: note: in expansion of macro 'rep'
   45 |     if (s == 0) rep (i,0,c.size()-1) if (t <= c[i]) return c[i];
      |                 ^~~
stations.cpp:5:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define rep(i,a,b) for(int i = (a); i <= (b); i++)
      |                                       ^
stations.cpp:53:9: note: in expansion of macro 'rep'
   53 |         rep (i,0,c.size()-2) if (t <= c[i]) return c[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...