만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

직사각형 합집합의 대각선 단면

시간 제한2초메모리 제한512 MB

요약
축에 평행한 직사각형들의 합집합을 각 대각선 y = s - x (정수 s는 L부터 R까지)로 잘랐을 때 생기는 선분 길이의 합을 구해 sqrt(2)로 나눈 값을 출력한다.
난이도

보통10점 중 7점

유형
기하, 구간, 누적 합, 정렬
정답자
아직 제출이 없습니다

문제

베라는 축에 평행한 직사각형을 NN개 가지고 있다. ii번째 직사각형은 마주 보는 두 꼭짓점 (ai,bi)(a_i, b_i)와 (ci,di)(c_i, d_i)로 정해진다. 이 NN개 직사각형의 합집합을 UU라고 하자.

실수 ss에 대해 UU와 직선 y=s−xy = s - x의 교집합은 서로 떨어진 선분 여러 개로 이루어진다. 한 점으로 줄어든 선분이 섞여 있을 수도 있다. 이 선분들의 길이 합을 f(s)f(s)라 하고, 교집합이 비어 있으면 f(s)=0f(s) = 0으로 정한다.

정수 LL과 RR이 주어질 때 S=∑s=LRf(s)S = \sum_{s=L}^{R} f(s)라고 하자. 여기서 ss는 LL부터 RR까지의 정수를 훑는다. 이 합은 항상 어떤 정수 VV에 대해 V2V\sqrt{2}와 같다. VV를 구하라.

입력

첫째 줄에 정수 NN, LL, RR이 주어진다. (1≤N≤1031 \le N \le 10^3, −2×108≤L<R≤2×108-2 \times 10^8 \le L < R \le 2 \times 10^8)

다음 NN개 줄 중 ii번째 줄에 정수 aia_i, bib_i, cic_i, did_i가 주어진다. (−108≤ai<ci≤108-10^8 \le a_i < c_i \le 10^8, −108≤bi<di≤108-10^8 \le b_i < d_i \le 10^8)

출력

첫째 줄에 VV를 출력한다.

힌트

아래 그림은 첫 번째 예제에서 s=0s = 0일 때를 보여 준다. f(0)f(0)은 굵은 파란 선분 두 개의 길이 합이다. 이 예제의 답은 S=72≈9.899S = 7\sqrt{2} \approx 9.899이다.

직사각형 세 개와 직선 y = -x

예제2

  1. 예제 1

    입력
    3 -1 3
    -2 -1 0 2
    -1 0 1 1
    1 -2 2 -1
    
    예상 출력
    7
    
  2. 예제 2

    입력
    5 -3 6
    -4 -4 -1 4
    -1 -4 2 -1
    -1 1 2 4
    2 -4 5 4
    -4 -1 5 1
    
    예상 출력
    59