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

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

수업 시간표

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

요약
p개의 과목이 (교사, 학급) 쌍으로 주어지고 s개의 강의실이 있을 때, 매 시간에 교사, 학급, 강의실이 겹치지 않도록 모든 과목을 배정하는 최소 시간을 구한다.
난이도

어려움10점 중 8점

유형
그래프, 조합론, 그리디, 수학
정답자
아직 제출이 없습니다

문제

보이체흐 씨는 새 사업으로 토요 해킹 학교(SSH)를 열고 직접 교장을 맡기로 했다. 교육부가 승인한 교육 과정을 짜 두었고, 교사 nn명을 채용했으며, 근처 소방서에서 강의실 ss개를 빌렸고, 이제 kk개 반의 학생을 모집하려 한다.

개교하기 전에 먼저 시간표를 짜야 한다. 교장인 보이체흐 씨는 첫 교시부터 마지막 학생이 떠날 때까지 학교에 있어야 하므로, 전체 시간표가 되도록 적은 교시 안에 끝나기를 바란다.

이 학교에서는 pp개의 과목을 가르친다. 각 과목에는 그 과목을 강의할 교사 한 명과 수업을 들을 반 하나가 배정되어 있다. 매주 토요일마다 각 과목은 정확히 한 교시씩 진행된다.

같은 교시에는 다음 규칙이 적용된다.

  • 한 교사는 한 과목만 강의할 수 있다.
  • 한 반은 한 과목만 들을 수 있다.
  • 한 강의실에서는 한 수업만 진행할 수 있다(따라서 동시에 최대 ss개의 과목이 진행된다).

한 교사가 같은 반에게 서로 다른 여러 과목을 가르칠 수도 있음에 유의하라.

예를 들어 SSH에 교사 22명, 반 22개, 과목 66개가 있고, 각 과목을 (교사 번호, 반 번호) 쌍으로 나타내면 (1, 1), (1, 1), (1, 2), (2, 2), (2, 2), (2, 2)라고 하자. 강의실이 하나뿐이면 어떤 두 수업도 동시에 진행할 수 없으므로 교장은 66교시가 필요하다. 강의실이 둘이면 44교시로 줄일 수 있다. 최적의 시간표 한 가지는 다음과 같다.

교시강의실 1강의실 2
1(1, 2)-
2(2, 2)-
3(1, 1)(2, 2)
4(1, 1)(2, 2)

따라서 최소 교시 수는 44이다.

당신의 과제는 보이체흐 씨의 시간표에 필요한 이 최소 교시 수를 구하는 것이다.

입력

첫째 줄에 네 정수 nn, kk, pp, ss가 공백 하나로 구분되어 주어진다(1≤n,k,p,s≤10001 \le n, k, p, s \le 1000). 각각 교사 수, 반 수, 과목 수, 사용할 수 있는 강의실 수를 뜻한다.

다음 pp개의 줄에는 각 과목이 하나씩 설명된다. 그중 ii번째 줄에는 두 정수 nin_i, kik_i가 주어진다(1≤ni≤n1 \le n_i \le n, 1≤ki≤k1 \le k_i \le k). 각각 ii번째 과목을 강의할 교사와 그 수업을 듣는 반을 뜻한다.

출력

한 정수 GG를 출력한다. 이는 교장이 매주 토요일 학교에서 보내야 하는 최소 교시 수, 즉 교사, 반, 강의실 규칙을 어기지 않고 모든 과목을 배치할 수 있는 가장 작은 교시 수이다.

(SSH의 한 교시가 반드시 45분일 필요는 없으므로 GG는 꽤 클 수 있다.)

예제3

  1. 예제 1

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

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

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