#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 r, is_add=1; for(int i=s.size()-1;i>=0;i--) { r=(c>=s[i].c)+(t<=s[i].t); if(r==2) { remove.push_back(i); is_add=1; } if(r==0) { is_add=0; } } for(unsigned i=0;i& 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; }