1 #include2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define re(i,n) for(int i=0;i =y[t]){27 da[id].cnt+=type;28 if(da[id].cnt==0){29 if(f==t)da[id].len=0;30 else da[id].len=da[id<<1].len+da[id<<1|1].len;31 }else da[id].len=y[t]-y[f];32 return;33 }34 int mid=(f+t)>>1;35 if(ty>y[mid])insert(id<<1|1,mid,t);36 if(fy <<1,f,mid);37 if(da[id].cnt==0)da[id].len=da[id<<1].len+da[id<<1|1].len;38 else da[id].len=y[t]-y[f];39 }40 int main(){ 41 int n;42 while(cin>>n&&n){43 re(i,n){44 scanf("%d%d%d%d",&x[i*2],&y[i*2],&x[i*2+1],&y[i*2+1]);45 a[i*2].fy=a[i*2+1].fy=min(y[i*2],y[i*2+1]);46 a[i*2].ty=a[i*2+1].ty=max(y[i*2],y[i*2+1]);47 a[i*2].x=min(x[i*2],x[i*2+1]);48 a[i*2+1].x=max(x[i*2],x[i*2+1]);49 a[i*2].type=1;50 a[i*2+1].type=-1;51 }52 sort(y,y+n*2),ysz=unique(y,y+n*2)-y;53 sort(a,a+n*2,cmp);54 ll ans=0; 55 memset(da,0,sizeof(da));56 fy=a[0].fy,ty=a[0].ty,type=a[0].type;57 insert(1,0,ysz-1);58 //cout<<"The first time "< <