#include #include #include #include #include #include #include #include #include using namespace std; struct Point{ double x,y; Point(double x=0,double y=0):x(x),y(y){} }; typedef Point Vector; Vector operator + (Vector A,Vector B){return Vector(A.x+B.x,A.y+B.y);} Vector operator - (Vector A,Vector B){return Vector(A.x-B.x,A.y-B.y);} Vector operator * (Vector A,double p){return Vector(A.x*p,A.y*p);} Vector operator / (Vector A,double p){return Vector(A.x/p,A.y/p);} bool operator <(const Point& a, const Point& b) { return a.x0)e[t++].dir=1; else e[t++].dir=-1; } } } sort(e,e+t,cmp); sort(f,f+tot,cmp2); int ans=0,now=0; for(i=0,j=0;i0)j++; if(j=0)continue; ans=max(ans,now); } printf("%d\n",ans); } return 0; }