#include #include using namespace std; struct state_t { int c, t; }; struct road_t { state_t s; int to; }; struct city_t { vector road; vector state; }; vector city; int state_add(vector& s, int c, int t) { vector remove; int is_add=0; for(int i=s.size()-1;i>=0;i--) { if(c>s[i].c && t<=s[i].t) { remove.push_back(i); is_add=1; } else if(c>=s[i].c && t& road=city[x].road; for(unsigned i=0;i vs, vt, vy, vm; vs.resize(v); vt.resize(v); vy.resize(v); vm.resize(v); for(int i=0;is.t) t=s.t; } printf("%d\n", t); } return 0; }