아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

농부의 밭

시간 제한1초메모리 제한128 MB

요약
각 행이 하나의 연속 구간인 밭 안에 c×d 또는 d×c 직사각형을 완전히 넣는 위치의 수를 센다.
난이도

보통10점 중 7점

유형
슬라이딩 윈도우, 스택, 누적 합, 투 포인터
정답자
아직 제출이 없습니다

문제

바이트랜드는 가로 aa미터, 세로 bb미터인 직사각형이다. 농부 바이트아사르의 밭은 단위 정사각형들로 이루어져 있다. 각 가로줄(층)에서 밭에 속한 칸들은 하나의 연속된 구간을 이루지만, 밭 전체가 위아래로 이어져 있을 필요는 없다.

바이트랜드의 왕은 모든 농부에게 단위 정사각형으로 이루어진 가로 cc미터, 세로 dd미터의 직사각형 영역을 바치라는 명령을 내렸다. 이 직사각형은 두 방향 중 하나로 놓을 수 있어서 cc개의 열과 dd개의 행을 차지하거나 dd개의 열과 cc개의 행을 차지하며, 밭 안에 완전히 들어가야 한다. 위치는 왕이 고른다. 바이트아사르는 가능한 위치가 많아서 욕심 많은 왕이 쉽게 결정하지 못하기를 바란다.

왕이 고를 수 있는 위치의 수, 즉 요구된 직사각형을 (두 방향 중 어느 쪽으로든) 밭 안에 완전히 놓을 수 있는 방법의 수를 구하여라. 두 배치가 정확히 같은 칸 집합을 덮을 때에만 같은 위치로 보므로, c=dc = d이면 두 방향은 서로 겹쳐 한 번만 센다.

다음을 수행하는 프로그램을 작성하여라.

  • 바이트아사르의 밭에 대한 설명과 왕이 요구한 영역의 크기를 입력받는다.
  • 그 영역을 밭 안에 놓을 수 있는 위치의 수를 계산한다.
  • 답을 표준 출력에 쓴다.

입력

첫째 줄에 네 정수 aa, bb, cc, dd가 주어진다 (1≤a,b,c,d≤5,000,0001 \le a, b, c, d \le 5{,}000{,}000). 각각 바이트아사르 밭의 가로와 세로, 그리고 왕이 요구한 영역의 가로와 세로이다.

이어지는 bb개의 줄에는 밭의 각 가로줄이 위에서부터 차례로 두 정수 xx와 ll로 주어진다 (1≤x≤a1 \le x \le a, 0≤l≤a0 \le l \le a, x+l≤a+1x + l \le a + 1). 그 줄에서 밭은 바이트랜드의 왼쪽 경계에서 x−1x - 1미터 떨어진 곳부터 시작하여 연속된 ll개의 단위 정사각형을 차지한다. 즉 xx열부터 x+l−1x + l - 1열까지 차지한다. l=0l = 0이면 그 줄에는 밭 칸이 하나도 없다.

출력

한 정수를 출력한다. 가로 cc, 세로 dd인 직사각형을 (두 방향 중 어느 쪽으로든) 바이트아사르의 밭 안에 완전히 놓을 수 있는 위치의 수이다.

힌트

그림은 예제 입력이 나타내는 밭을 보여 준다. 진한 색 칸이 밭에 속한다.

C++를 사용한다면 데이터 크기가 크므로 STL 컨테이너 사용에 주의하여라. 잘못 사용하면 시간이나 메모리 제한을 초과할 수 있다.

예제8

  1. 예제 1

    입력
    5 6 2 3
    1 5
    1 3
    1 2
    1 1
    3 3
    2 4
    
    예상 출력
    3
    
  2. 예제 2

    입력
    1 1 1 1
    1 1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    3 3 2 2
    1 3
    1 3
    1 3
    
    예상 출력
    4
    
  4. 예제 4

    입력
    4 4 1 2
    1 4
    1 4
    1 4
    1 4
    
    예상 출력
    24
    
  5. 예제 5

    입력
    5 3 1 1
    1 5
    1 0
    1 5
    
    예상 출력
    10
    
  6. 예제 6

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

    입력
    5 2 1 5
    1 5
    1 5
    
    예상 출력
    2
    
  8. 예제 8

    입력
    4 4 2 2
    1 4
    1 3
    2 3
    1 4
    
    예상 출력
    5