//#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
class pont{
public:
vector<int> v;
int id;
bool volt = 0;
bool mely;
void dfs(bool mely);
};
vector<pont> p;
int dd = -1;
void pont::dfs(bool mely){
if(!volt){
this->mely=mely;
volt=1;
if(mely)
id=++dd;
for(int i : v){
p[i].dfs(!mely);
}
if(!mely)
id=++dd;
}
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
dd=-1;
p.clear();
p.resize(n);
for(int i=0;i<n-1;i++){
p[u[i]].v.push_back(v[i]);
p[v[i]].v.push_back(u[i]);
}
p[0].dfs(0);
vector<int> er(n);
for(int i=0;i<n;i++){
er[i] = p[i].mely*2000+p[i].id;
}
return er;
}
bool contains(int mi, int mit){
return mi/2000 <= mit/2000 && mit%2000 <= mi%2000;
}
int find_next_station(int s, int t, vector<int> c) {
sort(c.begin(), c.end());
if(s==t) exit(255);
for(int i : c){
if(i==t) return t;
}
if(s/2000){
if(t%2000<s%2000 || (c.size()>1 && c[c.size()-2]%2000 < t%2000)){
return c.back();
} else {
for(int i=0;i<c.size(); i++){
if(t%2000>c[i]%2000){
return c[i-1];
}
}
exit(0);
}
} else {
if(s%2000<t%2000 || (t%2000 < c[0]%2000)){
return c[0];
} else {
for(int i=0;i<c.size(); i++){
if(t%2000<c[i]%2000){
return c[i-1];
}
}
exit(0);
}
}
}
int main(){
int m;
while(1){
cin >> m;
cout << find_next_station(4,m,{2000,2001,2002,2003});
}
return 0;
}
Compilation message
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:63:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
63 | for(int i=0;i<c.size(); i++){
| ~^~~~~~~~~
stations.cpp:74:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
74 | for(int i=0;i<c.size(); i++){
| ~^~~~~~~~~
/tmp/ccXtqGIW.o: In function `main':
stub.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccIvWxEC.o:stations.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status