publicclassZYH{ publicintcomputeArea(int A, int B, int C, int D, int E, int F, int G, int H){ int area1 = (C - A) * (D - B); int area2 = (G - E) * (H - F); long X1 = A; long X2 = C; long Y1 = F; long Y2 = H; if (A < E) X1 = E; if (C > G) X2 = G; if (F < B) Y1 = B; if (H > D) Y2 = D; if ((X2 - X1) > 0 && (Y2 - Y1 > 0)) { long area = (X2 - X1) * (Y2 - Y1); long ans = area1 + area2 - area; int res = (int) ans; return res; } return area1 + area2; }
publicstaticvoidmain(String[] args){ ZYH s = new ZYH(); System.out.print(s.computeArea(-1500000001, 0, -1500000000, 1, 1500000000, 0, 1500000001, 1));