VP cal_convex(VP a) { VP r; sort(all(a)); for(const auto& p: a) { while(sz(r)>1 && cross(r[sz(r)-2], r[sz(r)-1], p)<=0) r.pop_back(); r.pb(p); } int K=sz(r); reverse(all(a)); for(const auto& p: a) { while(sz(r)>K && cross(r[sz(r)-2], r[sz(r)-1], p)<=0) r.pop_back(); r.pb(p); } r.pop_back(); return r; }
int main() { #ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); #endif int xa,ya,xb,yb; cin>>xa>>ya>>xb>>yb; for(int i=min(xa,xb);i<=max(xa,xb);i++) { for(int j=min(ya,yb);j<=max(ya,yb);j++) { if(i==xa|| i==xb || j==ya|| j==yb) v.pb(pp(i,j)); } } //cout<<v.size()<<endl; v.erase(unique(v.begin(),v.end()),v.end()); int c=0; int n;s(n); rep(i,n) { int x,y,r; s(x);s(y);s(r); ar1[i]=x;ar2[i]=y;ar3[i]=r; }
int main() { ifstream fin("meeting.in"); fin >> N >> M; cout << N << endl; cout << endl; for (int i = 0; i < M; i++) { fin >> A >> B >> C >> D; paths.pb(mp(A,B)); speeds.pb(mp(C,D)); } fin.close(); calculatePaths(); for (int i = 0; i < bessieSpeeds.size(); i++) { cout << "Bessie: " << bessieSpeeds[i] << endl; cout << elsieSpeeds[i] << endl; } for (int i = 0; i < bessieSpeeds.size(); i++) { if (bessieSpeeds[i] > leastTime) break; for (int j = 0; j < elsieSpeeds.size(); j++) { if (bessieSpeeds[i] == elsieSpeeds[j]) { if (bessieSpeeds[i] < leastTime) { leastTime = bessieSpeeds[i]; break; } } } } ofstream fout("meeting.out"); cout << leastTime << endl; if (leastTime != 1000000) { fout << leastTime << endl; } else fout << "IMPOSSIBLE" << endl; fout.close(); return 0; }